ASP.NET Web窗体授权允许匿名用户访问特定页面
我正在使用ASP.NET Web窗体的窗体身份验证,它成功地对用户进行了身份验证 使用web.config中的这些授权设置,匿名用户只能访问登录页面ASP.NET Web窗体授权允许匿名用户访问特定页面,asp.net,webforms,web-config,authorization,forms-authentication,Asp.net,Webforms,Web Config,Authorization,Forms Authentication,我正在使用ASP.NET Web窗体的窗体身份验证,它成功地对用户进行了身份验证 使用web.config中的这些授权设置,匿名用户只能访问登录页面 <authorization> <deny users="?" /> </authorization> ) 除了我指定的页面外,我如何拒绝匿名访问所有页面? 这个问题的答案表明我所做的是正确的。但这似乎对我不起作用。那么为什么会发生这种情况呢?当我试图访问一个页面时,有没有办法找出是什么设置阻止
<authorization>
<deny users="?" />
</authorization>
)
除了我指定的页面外,我如何拒绝匿名访问所有页面?
这个问题的答案表明我所做的是正确的。但这似乎对我不起作用。那么为什么会发生这种情况呢?当我试图访问一个页面时,有没有办法找出是什么设置阻止了访问?我缺少什么吗?显然,限制较少的文件不能在限制目录中。
但是,对限制较少的目录也可以这样做
最后,我使用以下web.config将公共文件放在根目录中,并将所有受保护的文件放在子文件夹中:
...
<authorization>
<allow users="*" />
</authorization>
...
<location path="SubFolder">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
...
。。。
...
...
在Visual Studio Enterprise 2015的.NET Framework 4.5中进行了测试。这个问题的答案对我很有用
<location path="SubFolder/LoggedOut.aspx">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
...
<authorization>
<allow users="*" />
</authorization>
...
<location path="SubFolder">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
...