【发布时间】:2012-01-21 16:45:23
【问题描述】:
我正在寻找一种方法来轻松地围绕某个位置设置安全性,同时使用它来显示/隐藏我的菜单上的链接。
我知道如何为未经授权的用户屏蔽该位置,例如:
<location path="AdminDirectory">
<system.web>
<authorization>
<allow roles="SomeRole"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
我可以使用代码显示/隐藏链接,例如:
myLink.Visible = User.IsInRole("SomeRole");
但我正在寻找一种方法来做到这一点,以便“SomeRole”角色名称只需配置一次。如果我可以从 location 元素中读取并在代码中对其进行测试,那将是理想的,但我没有看到这样做的方法。
// Something like:
myLink.Visible = TestLocationAccess("AdminDirectory");
我可以想到一种非常糟糕的方法,即通过 javascript/AJAX 调用从客户端“测试”目录并使用 javascript 显示/隐藏链接,但显然这并不理想。
谢谢
【问题讨论】:
标签: c# asp.net security authorization