none
关于登录记住帐号信息的问题 RRS feed

  • 问题

  • 我的要求是这样的,当用户登录后,只要浏览器不关闭,永久记录用户登录信息,即一直不动(10分钟或1小时乃至1天,2天),都不需要重新登录,但一但关闭浏览器(即使登录后1分钟关闭)也需要重新登录。
    我现在的代码如下,需要怎么改进才能达到这个效果?

                    HttpCookie authCookie = FormsAuthentication.GetAuthCookie(userName, false);
                    FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);
                    FormsAuthenticationTicket newTicket = new FormsAuthenticationTicket(
                        ticket.Version, ticket.Name, ticket.IssueDate,
                        ticket.Expiration, ticket.IsPersistent, userData);


                    authCookie.Value = FormsAuthentication.Encrypt(newTicket);
                    HttpContext.Current.Response.Cookies.Add(authCookie);


    以下是WEBCONFIG的配置
           <authentication mode="Forms">
                <forms timeout="60" loginUrl="Login.aspx" slidingExpiration="true"></forms>
            </authentication>

    以上的代码不能达到效果的,如果仅仅在WEBCONFIG里把时间改长,并不能达到关闭浏览器就还需要登录的要求。请问如何修改才能达到?谢谢

    2009年8月24日 6:22

答案

全部回复

  • 你好!
    你设置60分钟 表示cookie过期时间超过60分钟后自动失效  
      slidingExpiration="true‘是表示 你每次刷新页面时候 更新cookie时间永远是60分
    你的设置总结是 在关闭浏览器60分肿后需要登陆
    你的要求 我觉得session能做到

    2009年8月24日 7:19
  • 您好,您确定已关闭整个浏览器?而不是只关闭了选项卡。
    建议将所有的浏览器关闭,再试试看。按理,只要相关的浏览器关闭,就需要重新登入。
    2009年8月24日 8:27
    版主
  • 过期时间设置为 DateTime.MaxValue 
    【孟子E章】
    • 已标记为答案 .net菜鸟 2009年8月25日 9:32
    2009年8月24日 8:50
    版主