web.config 中如下设置 应该没有错:<authentication mode="Forms">
        <forms name=".ASPXAUTH" loginUrl="login.aspx" protection="All" timeout="60" />
      </authentication>
      <authorization>
        <deny users="?" />
      </authorization>
index.aspx 设为起始页
login.aspx 程序中: 点击登录按钮以后 执行FormsAuthentication.RedirectFromLoginPage(txtUserName.Value.Trim(),false);第一次运行程序正常 ,网页全部关掉之后 
直接输入:http://localhost/index.aspx  居然不掉转到 登录页面了 也就是说FormsAuthentication里面包含了验证信息 可是我没有设置成持久cookie呀 我想每次请求index页时都先调用login。aspx 如何做

解决方案 »

  1.   

    你用的是IE浏览器吗?还是IE的内核加了一个外壳?
    像Tencent Traveler这类浏览器即使关闭了里面的所有窗口,只要不管TT,cookie还会继续保持的,把TT全部关掉才会清除所以打开一个纯IE浏览器再试试
      

  2.   

    把你页面中所有浏览器全部关闭(包含IE,MYIE等等),然后再打开一个IE浏览器,再试一次.
      

  3.   

    将<deny users="?" />改成<deny users="*" />
    ?和*含义是不同的,前者表示匿名用户,后者表示所有用户。
      

  4.   

    现在问题好像出现在这里  timeout="60"   我改成 timeout=“1”    第一次运行程序正常 ,网页全部关掉之后 
    直接输入:http://localhost/index.aspx  居然不掉转到 登录页面了    一分钟以后再登录 还是先跳转到登陆页面 的。也就说cookie失效 是随着时间失效 而不是随着关闭浏览器失效的,可是我这个是 临时cookie 应该关闭浏览器就失效呀
      

  5.   

    使用Form认证和Session变量相结合
      

  6.   

    wxqq2001(就让我用一生等待   有的
      

  7.   

    我想还是你的代码哪儿出了问题的.
    可参考文章再做一次,试试还有没有如你所述的问题:
    http://www.codeproject.com/aspnet/formsroleauth.asp