基于Asp.net角色的表单数据身份验证

时间:2012-08-13 14:12:53

标签: asp.net

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

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

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

1 个答案:

答案 0 :(得分:0)

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

Import System.Security.Permissions

放在方法上方

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

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