我目前在 web.config 中拥有我的访问权限:
<location path="Account">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
...
我不喜欢这个有两个原因:
web.config随着我的网站的建立变得一团糟- 我不确定将网页访问规则与页面本身如此分开是否安全。毕竟,我每天大部分时间都在编辑 aspx/c# 文件而不是 web.config,所以事情往往会出错。
- 这是一个非常奇怪的...我刚刚添加了 ASP.NET4 路由,它改变了 URL。所以,突然间我的 web.config 权限不再有效!类似于上面的第 2 点。
我认为最好只使用 PrincipalPermission 作为每个 aspx 中涉及的类/c# 文件的安全属性。我的问题:
- 这是由任何人完成的,还是一个坏主意?
- 更重要的是...我的 PrincipalPermission 属性生成异常(好)但不会将用户重定向回登录页面(坏)。这可以修复吗?
请您参考如下方法:
我知道一个可能有用的技巧 - 如果将页面放在单独的文件夹中,则每个文件夹都可以有一个本地 web.config。不需要包含在全局 Web 配置中。 请参阅“配置设置范围”部分中表格的“ASP.NET 应用程序子目录”行 here .
