关于FormsAuthentication验证用户登录的过期时间问题

  • Thread starter Thread starter Sanwave
  • Start date Start date
S

Sanwave

Guest
现在在做一个ASP.NET网站,用到了FormsAuthentication验证用户登录。我还是不太明白 FormsAuthenticationTicket类的对象的expiration和isPersist参数,还有Web.Config文件中的FormsAuthentication节点下的Timeout参数有什么联系和区别,他们貌似都在说用户身份票据的过期时间,但他们存储在Cookie(假如用户是接受Cookie的)中,如果不指定Cookie的过期时间,则下次打开浏览器还是不能自动登录。但如果指定Cookie的过期时间,则又带来一个问题:假如Cookie的过期时间是30分钟,则用户登入30分钟后会被强行退出,这又如何解决?我想要的效果是:当用户勾选“记住我”时,长时间存储Cookie,在这段时间内用户总能自动登入;用户不够选“记住我”时,则存为临时Cookie,浏览器关闭时自动清除身份票据,下次打开浏览器不会自动登入,但假如浏览器一直开着,又不会在一段时间自动登出,以上参数该如何设置呢? 再问一个低级的问题,就是:我已经在后台获得了用户的身份,如何把它安全的传递到前台aspx的导航子页面(html)做判断,根据不用的用户角色显示不用的导航栏?我目前是通过明文Cookie存储实现的,总觉得有点不安全,而且他和存储 FormsAuthenticationTicket身份票据的Cookie可能会出现不同步,出现UI的Bug? 望大神不吝赐教


朝着黎明的方向,在黑暗中前行

Continue reading...
 
Back
Top