ASP.NET MVC成员角色

时间:2012-01-26 09:33:09

标签: asp.net asp.net-mvc-3 asp.net-membership

我需要对ASP.NET成员资格进行一些澄清;请帮帮我。 我正在使用ASP.NET MCV 3框架并打算为用户使用ASP.NET成员资格。使用LDAP或SQL进行身份验证管理。

直到现在我才明白; ASP.NET成员资格是:

[用户]有[角色]或[角色]有[用户]

但在我的项目中,我有一个更复杂的业务逻辑;我需要这个层次结构到下一级,如

[用户]有[角色] - >有[任务]

所以我可以动态地分配/撤销我的MVC控制器或操作的任务/权限;

我打算开始使用SQL Provider的成员资格,而且稍后可能会切换到LDAP / AD。

我也探索过AzMan和NetSqlAzMan;他们看起来可以解决错误,但他们的用法似乎很奇怪; (不像ASP.NET成员那样整洁;我们可以简单地使用注释将角色/任务分配给控制器或其操作。

ASP.NET成员资格仅限于角色吗? &安培;没有任务/操作? 或者有任何解决方法吗?

我是否可以享受ASP.NET Membership的简单使用,并且在同一条道路上为Roles提供了下一级层次结构 - >任务 - >操作

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:2)

ASP.NET成员资格仅支持角色,不支持任务或操作。

您可以使用属性来表示哪些角色允许哪些操作,如下所示:

[Authorize(Roles="Administrator")]
public ViewResult Edit(int id)
{
    return View("Edit");
}

或者您的代码可以使用IsInRole方法进行检查:

if (User.IsInRole("Administrator"))
{
    ...
}
祝你好运!