我在 web.config 中有一些行如下所示:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<location path="Error.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
我自己控制登录方法。假设用户未登录并登陆 abc.aspx 页面。 Abc.aspx 页面未经授权不得在未登录的情况下查看,如上面的 web.config 中所示,仅允许 default.aspx 和 error.aspx。如何动态检查我当前所在的页面是否为 web.config 所允许?我可以对其进行硬编码,但我想看看这是否可行,这样每次我想将页面添加到异常(exception)列表时,我所要做的就是修改 web.config 而不是我的代码。
最佳答案
在 authentcation 标记后将其添加到您的 webconfig。这将确保未经授权的用户不会访问任何页面,您添加的其他标签应允许匿名访问您指定的页面。
<authorization>
<deny users="?"/>
</authorization>
关于c# - 检查用户是否在未经授权的页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14717365/