我需要对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提供了下一级层次结构 - >任务 - >操作
非常感谢任何帮助。
谢谢!
答案 0 :(得分:2)
ASP.NET成员资格仅支持角色,不支持任务或操作。
您可以使用属性来表示哪些角色允许哪些操作,如下所示:
[Authorize(Roles="Administrator")]
public ViewResult Edit(int id)
{
return View("Edit");
}
或者您的代码可以使用IsInRole方法进行检查:
if (User.IsInRole("Administrator"))
{
...
}
祝你好运!