我正在使用asp.net表单身份验证和asp.net登录控件。登录控件有一个“RememberMe”复选框。
用户通过身份验证后,会引发LoggedIn(对象发件人,EventArgs e)方法,在此方法中,我正在查看使用此方法创建的身份验证cookie
HttpCookie authCookie = FormsAuthentication.GetAuthCookie(userName, true);
当我检查authCookie.Expires值时,我预计在未选中RememberMe时为30分钟,而在选中RememberMe时为50年(根据MS文档,这些是默认值)
但无论我是否检查RememberMe,它总是30分钟。我检查了我的web.config,我没有为“超时”字段设置任何东西,所以我不知道为什么会发生这种情况。任何想法?
答案 0 :(得分:1)
这非常令人困惑,但看起来我必须在身份验证/表单部分下的web.config中设置“timeout”和“slidingExpiration”以使RememberMe部分正常工作
我有这样的设置,一切都按预期工作
slidingExpiration="true" timeout="5120"
rick strahl的博客帮助我找到答案
http://www.west-wind.com/WebLog/posts/157861.aspx