【问题标题】:website authorization behaving very unusually网站授权行为异常
【发布时间】:2023-03-23 04:23:01
【问题描述】:

我在 asp.net4 中使用forms 身份验证。但是授权的行为非常不寻常。
以下是我的 web.config sn-p-

<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(即使会话结束也存在身份验证问题)。

【问题讨论】:

  • 发布更多代码。你知道timeout 的属性在做什么吗,好像你不知道,因为你问了这个问题。
  • @Ramhound 不,我不知道超时在做什么,我对这一切都很陌生,我还有很多东西要学。所以我认为没有必要投票。如能回答将不胜感激

标签: c# asp.net web-config authorization


【解决方案1】:

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

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

【讨论】:

  • 我已经删除了除 loginUrl 之外的所有属性,但问题仍然存在。而且我不能出于其他原因使用 Uri cookie,您可以提出任何建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
  • 2016-08-06
  • 2021-06-05
  • 2015-12-08
  • 1970-01-01
相关资源
最近更新 更多