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

时间:2010-04-26 18:26:28

标签: asp.net authentication cookies

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

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

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

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


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

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

最终,我希望超时为30分钟,但我也希望cookie在用户关闭浏览器时过期。我不希望它在机器上活动30分钟。这就是它在我正在研究的其他网站上的表现,我不确定它的区别是什么。

由于 -Shane

1 个答案:

答案 0 :(得分:3)

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

示例:

FormsAuthentication.RedirectFromLoginPage(userName, false);