我需要一些关于ASP.NET会员的说明,请帮助我。我正在使用SQLMCV3框架,并打算使用ASP.NET成员资格进行用户和身份验证管理。
到目前为止,我所理解的ASP.NET成员是:
用户具有角色或角色具有用户
但是在我的项目中,我有一个更复杂的业务逻辑;我需要这个层次结构到下一个级别,比如
用户具有角色->有任务
因此,我可以动态地分配/撤销任务/权限到我的MVC控制器或操作;
我计划开始与SQL提供程序的成员资格,然后可能稍后我将切换到LDAP/AD。
我还研究了AzMan和NetSqlAzMan;它们看起来可以解决错误,但它们的用法似乎很奇怪;(不像ASP.NET成员资格那样整洁;我们可以简单地使用注释将角色/任务分配给控制器或其操作。
ASP.NET成员资格是否仅限于角色?无任务/操作?或者有什么解决方法吗?
我是否可以享受ASP.NET成员资格使用的简单性,并在同一条道路上拥有角色->任务->操作的下一级层次结构。
任何帮助都将不胜感激。
谢谢!
发布于 2012-01-26 19:15:56
ASP.NET的成员资格提供程序只支持开箱即用的角色。它不支持任务或操作。但是,创建自定义角色提供程序来满足几乎任何需求都是相对容易的。
作为一个好的开始,请查看http://msdn.microsoft.com/en-us/library/ie/8fw7xh74.aspx上的“实现角色提供程序”。您还可以在http://msdn.microsoft.com/en-us/library/ie/tksy7hd7.aspx上找到一个示例角色提供程序。
发布于 2012-01-26 17:38:34
ASP.NET成员仅支持角色,不支持任务或操作。
您可以使用属性来表示哪些角色允许哪些操作,如下所示:
[Authorize(Roles="Administrator")]
public ViewResult Edit(int id)
{
return View("Edit");
}或者,您的代码可以使用IsInRole方法进行检查:
if (User.IsInRole("Administrator"))
{
...
}祝好运!
https://stackoverflow.com/questions/9016091
复制相似问题