FormsAuthentication允许访问所有页面
本文关键字:访问 许访问 FormsAuthentication | 更新日期: 2023-09-27 18:19:00
我正试图实现FormsAuthentication
,但我得到了一点奇怪的行为。这些是web.config
中的行:
<authentication mode="Forms">
<forms loginUrl="/contentpages/login.aspx" name="SiteAuth" protection="All" timeout="30" path="/" defaultUrl="/" requireSSL="false" cookieless="UseCookies" enableCrossAppRedirects="false" />
</authentication>
<authorization>
<allow users="?" />
</authorization>
所以,如果我做对了,这应该允许所有匿名用户访问根目录和它下面的页面。
由于某种原因,访问网站主页(http://www.sample.com/)将我重定向到登录页面。如果我在地址栏中重新输入地址,它会像预期的那样把我带到网站主页(不需要登录,我到达登录页面时没有登录,只是在地址栏中重新输入地址)为什么会发生这种情况?
我希望我已经说清楚了情况,如果你需要更多的信息,请随时提问。
您看到这个功能可能是因为您没有指定位置。试一下:
<location path="your folder">
<system.web>
your authorization
</system.web>
</location>
另一个问题可能是如何授予权利。"?"针对所有未经身份验证的用户。如果您试图简单地授予所有用户访问权限,那么最好使用"*"。
同样重要的是要注意这些规则是级联的。因此,您可以添加多个规则来微调访问。例如,如果我想授予一组特定用户访问权限,而拒绝其他用户访问,我会使用:
<authorization>
<allow roles="administrators" />
<deny users="*" />
</authorization>