我在使用 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(使用前将#替换为@)