【发布时间】:2016-02-25 10:30:31
【问题描述】:
我正在使用带有 ASP.NET Web 窗体的表单身份验证,它成功地对用户进行身份验证。
使用 web.config 中的这些授权设置,匿名用户只能访问登录页面。
<authorization>
<deny users="?" />
</authorization>
或
<location path="SubFolder">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
我正在尝试使用位置标签进一步允许匿名访问其他页面,但它们被忽略了:
<location path="SubFolder/LoggedOut.aspx">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
按照 ASP.NET 设置继承位置标记中的授权标记应覆盖全局授权标记。
系统通过构建 URL 的所有规则的合并列表来确定哪个规则优先,最近的规则(在层次结构中最近的规则)位于列表的开头。 (link)
如何拒绝匿名访问除我指定的页面之外的所有页面?
question 的答案表明我所做的是正确的。但这似乎对我不起作用。那么为什么会这样呢?当我尝试访问页面时,有没有办法找出阻止访问的设置?我有什么遗漏吗?
【问题讨论】:
-
这个问题的答案对我有用stackoverflow.com/questions/3628445/…
标签: asp.net webforms web-config authorization forms-authentication