ASP.NET 表单身份验证 Cookie 不会过期

2024-04-21

我在使用 ASP.NET SQL 成员资格提供程序的网站上遇到问题。首次登录时一切正常。即,用户被定向到登录页面,并且在成功登录后,他们将被发送到他们请求的原始页面。

但是,当他们关闭浏览器并重新打开浏览器后,身份验证 cookie 仍然存在。他们无需登录即可直接进入任何需要身份验证的页面。

我在另一个网站上使用相同的会员提供商,但它的行为有所不同。当我在 Firefox 中检查 cookie 时,有问题的网站显示“过期:2010 年 4 月 26 日星期一下午 2:23:50”,正常工作的网站显示“过期:会话结束时”。

两个站点指定过期时间的设置相同:


    authentication mode="Forms"
      forms name=".MySite" protection="All" path="/"
             loginUrl="mySite/login.aspx" slidingExpiration="true" timeout="30"   
             requireSSL="false"
    authentication

(我删除了上面代码参考中的元素分隔符,因为它弄乱了编辑器)

最终,我希望超时时间为 30 分钟,但我也希望 cookie 在用户关闭浏览器时过期。我不希望它在机器上保持活动状态 30 分钟。这就是它在我正在开发的其他网站上的行为方式,我不确定有什么区别。

谢谢 -谢恩


您是否尝试在写入 cookie 的登录页面上的代码中将 cookie 持久性设置为 false?

Example:

FormsAuthentication.RedirectFromLoginPage(userName, false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET 表单身份验证 Cookie 不会过期 的相关文章

随机推荐