我正在使用ASP.NET MVC 3.基于客户用户属性的用户对视图的限制
我想创建一个操作筛选器以确定用户是否可以访问视图。我有一个用户类,如IsAdministrator,IsTrusteeUser和IsAuditUser属性。如果不属于某些角色,我将如何创建一个操作过滤器来阻止某些用户?
而且,我会如何在我的视图中使用它来隐藏/显示某些控件?我想感谢一些代码:)
我正在使用ASP.NET MVC 3.基于客户用户属性的用户对视图的限制
我想创建一个操作筛选器以确定用户是否可以访问视图。我有一个用户类,如IsAdministrator,IsTrusteeUser和IsAuditUser属性。如果不属于某些角色,我将如何创建一个操作过滤器来阻止某些用户?
而且,我会如何在我的视图中使用它来隐藏/显示某些控件?我想感谢一些代码:)
为什么要重新发明轮子?
把[Authorize]
行动过滤器的动作/控制器上,指定所需的角色:
[Authorize(Roles = "Administrator")]
public ActionResult SomeAdminPage() { // }
如果不是这样,或者你可以通过实施IAuthorizationFilter
实现自己的自定义授权过滤器。
您可以实现IActionFilter接口编写用户访问权限检查,一些关于编码你可以找到 here
隐藏/显示这样的属性扩展在UI上某些控件,它不是ActionFilters的工作,而你应该要么使每个用户不同的意见,并相应地重定向他或者做一些
If/else
实现此目的。
我没有使用任何类型的成员资格,我只是有一张表,说明用户是否是管理员用户,审计用户等。那么,您认为我必须创建一个自定义授权筛选器吗? – 2011-02-24 12:38:45
@Brendan - 对,我的坏 - 如果你不使用内置的角色提供程序(这是单独的成员,afaik) - 你可能需要一个自定义的授权过滤器。 – RPM1984 2011-02-24 22:24:58
只是一个简单的问题。我有一个包含用户的表格(员工编号)和我自己的表格以及其中的角色。可以使用角色成员资格吗?我将如何将其实施到我目前的系统中? – 2011-02-28 11:57:28