我在asp.net4中使用forms
身份验证。但授权表现得非常不寻常
以下是我的web.config片段 -
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="2880" protection="All" path="/" />
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
当我尝试打开任何网页时,我会按预期重定向到Login
页面。如果关闭我的浏览器我应该退出,但这没有发生,虽然我正在设置persistentCookie=false
如下
FormsAuthentication.RedirectFromLoginPage(username, false);
现在关闭浏览器后,如果再次登录,我被认为是经过身份验证的用户,但如果我在浏览器中清除cookie cache
,那么我将不会被认为是经过身份验证的用户。
我没有在任何地方设置cookie,我不想要持久性cookie,而不是为什么会发生这种情况 请告诉我,如果我遗失了什么。
有人知道与此相关的内容 我刚刚发现这个问题仅适用于Chrome 21.0,而不适用于Firefox 7.0或Opera 11.4(即使会话结束也需要进行身份验证)。
答案 0 :(得分:1)
默认情况下,使用authentication mode="Forms"
存储在Cookie中的身份验证凭据。如果要更改此行为,可以使用cookieless="UseUri"
属性,而您的凭据将存储在URL中。您可以找到更多信息forms Element for authentication。
超时属性指定Cookie的存储时长(以分钟为单位),默认为30。