2010-04-26 59 views
2

我遇到了使用ASP.NET SQL成员资格提供程序的站点的问题。首次登录时一切正常。即,用户被引导到登录页面,并且在成功登录时,他们被发送他们所请求的原始页面。ASP.NET窗体身份验证Cookie未到期

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

我有另一个网站,我使用相同的成员资格提供程序,它的行为有所不同。当我在Firefox中检查cookie时,出现问题的站点“Expires:Monday,April 26,2010 2:23:50 PM”正常工作的站点具有“Expires:会话结束时”。

设定指定期满时间是相同的两个站点:


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

(I除去元件分隔符中的代码参考如上所述,由于它是搞乱了编辑器)

最终,我希望超时时间为30分钟,但我也希望cookie在用户关闭浏览器时过期。我不希望它在机器上处于活动状态30分钟。这是它在我正在工作的其他网站上的表现,我不确定它们有什么不同。

感谢 -Shane

回答

3

你尝试在代码写入Cookie的登录页上的Cookie持久性设置为false?

例子:

FormsAuthentication.RedirectFromLoginPage(userName, false); 
+0

嗯......这将是一个问题。非常感谢你! – Shane 2010-04-26 20:32:18

+0

感谢您的回答。希望我能代表你。 – Shane 2010-04-26 20:32:57