2

forms在 asp.net4 中使用身份验证。但是授权的行为非常不寻常。
以下是我的 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 无关(即使会话结束也存在身份验证问题)。

4

1 回答 1

1

当您使用authentication mode="Forms"默认存储在 cookie 中的身份验证凭据时。如果您想更改此行为,您可以使用cookieless="UseUri"属性,而不是您的凭据将存储在 URL 中。您可以找到更多信息表单元素进行身份验证

timeout属性指定 cookie 将被存储多长时间(以分钟为单位),默认为 30。

于 2012-08-02T21:00:15.093 回答