我正在 MVC4 中编写一个定制的 Web 系统,该系统的一部分需要管理员用户来管理公司中的角色和用户,以提供对系统某些区域的访问和权限。该系统在系统中具有以下模块:
销售量
生产
管理团队希望能够在系统中创建角色并向这些角色应用权限。例如。销售角色将被拒绝访问生产,但销售经理可以对生产拥有只读访问权限。
我正在寻找一个管理单个管理屏幕的最佳方法的示例。管理员需要
- 创建角色
- 创建用户
- 分配角色
- 将角色权限分配给系统中的模块和操作
另外,由于需要动态分配角色,我将如何在控制器级别实现它?
[Authorize(Roles="Sales")] // needs to be dynamic
public ActionResult SalesIndex(){
return View();
}
任何想法,将不胜感激
Thanks
您需要创建自定义AuthorizeAttribute
像这样
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var userIdentity = httpContext.User.Identity;
if (!userIdentity.IsAuthenticated)
return false;
var rd = httpContext.Request.RequestContext.RouteData;
string currentAction = rd.GetRequiredString("action");
if(currentAction == "SalesIndex")
{
return IsUserIsInRoleForTheView(userIdentity.Name);
}
return true;
}
}
[CustomAuthorize]
public ActionResult SalesIndex()
{
return View();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)