ASP.net forms 验证中,身份验证票,身份验证cookie,session他们的有效期如何使用呢?
.net 2.0中,当采用cookie的forms身份验证时,会产生两个cookie ,第一个是用于身份验证的cookie,里面存储身份验证票,第二个是用来存储会话标记符的cookie。
这个两个cookie的name可以分别在<forms> 和<sessionState>中设置。
我想问的是
1. 身份验证cookie中的 身份验证票同样也有 有效期,那么身份验证cookie的有效期和 身份验证票的有效期 有什么不一样呢?
2. 当我登录后,采用如下方法能明确的看到身份验证票的有效期,但cookie的有效期却始终是 0001-1-1 0:00:00 ,这是 什么意思呢 ??
code: FormsIdentity id = (FormsIdentity)User.Identity;
FormsAuthenticationTicket ticket = id.Ticket;
TextBox1.Text =ticket.Expiration.ToString();
TextBox1.Text +=“*"+Request.Cookies[FormsAuthentication .FormsCookieName].Expires.ToString();
3. 身份验证票的过期时间可以是滑动的,而<sessionState>中session timeout时间是固定的,如果session的timeout时间到了,那么用户在请求时,系统应该转到login页面,而实际我测试中并没有转到登录页,并且会话ID也没有变,为什么呢?
4. 当我session中没有存储信息时 ,每当我刷新一次,SessionID就变一次,而当我session存储了信息时,再刷新,sessionID却不再变化了,这又是为什么呢???
也许有些问题很简单,但却困扰了我很久,希望大家能给我一点帮助,谢谢!