2

我有一个 asp.net 4 webforms 项目。我有一个用于管理应用程序中现有用户的表单,但是根据用户在应用程序中的角色(管理员、用户等),某些用户可能会显示为灰色或隐藏某些选项。例如,管理员可以从下拉列表中更改用户的角色,但普通用户会看到下拉列表变灰(或可能隐藏)。

当然,在回发时,我可以有一个很大的功能来检查所有条件,例如“如果用户小于管理员修改属性 X,则忽略保存该更改”。对于一个表单,可能会有多个此类检查的列表。

但是在 asp.net 中是否有更好的方法来处理这种类型的事情?

4

1 回答 1

0

可以使用 PrincipalPermissions 来限制方法不被特定角色以外的任何人执行

Import System.Security.Permissions

放在方法上面

<PrincipalPermissions(SecurityAction.Demand, role:="Admin")> _
...

这不会对用户隐藏控件,但我想您可以将特定控件包装在 LoginView 中或以编程方式控制它们的可见性。

于 2012-08-13T14:28:34.477 回答