asp.net-mvc – 使用MVC的AuthorizeAttribute和多组角色?
发布时间:2020-05-23 20:25:09 所属栏目:asp.Net 来源:互联网
导读:我想要做的是对动作处理程序进行两级角色检查.例如,要求用户至少属于以下组之一:SysAdmins,Managers AND至少在以下一个组中:HR,Payroll,Executive. 最初的猜测是,这可能是这样做的方法,但我认为不是: [Authorize(Role=SysAdmins,Managers)][Authorize(Role
|
我想要做的是对动作处理程序进行两级角色检查.例如,要求用户至少属于以下组之一:SysAdmins,Managers AND至少在以下一个组中:HR,Payroll,Executive. 最初的猜测是,这可能是这样做的方法,但我认为不是: [Authorize(Role="SysAdmins,Managers")]
[Authorize(Role="HR,Executive")]
public ActionResult SomeAction()
{
[...]
}
我是否需要将自己的自定义属性作为角色来接受Role1和Role2或类似的东西?或者有更简单/更好的方法吗? 解决方法你需要自己的属性.这是我的:public class AuthorizationAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var portalModel = ContextCache<PortalModel>.Get(ContextCache.PortalModelSessionCache);
var requestedController = filterContext.RouteData.GetRequiredString("controller");
var requestedAction = filterContext.RouteData.GetRequiredString("action");
var operation = string.Format("/{0}/{1}",requestedController,requestedAction);
var authorizationService = IoC.Container.Resolve<IAuthorizationService>();
if (!authorizationService.IsAllowed(AccountController.GetUserFromSession(),operation))
{
filterContext.Controller.ViewData["Message"] = string.Format("You are not authorized to perform operation: {0}",operation);
filterContext.HttpContext.Response.Redirect("/Error/NoAccess");
}
else
{
}
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net-core – 用于.NET Core控制台应用程序的ASP.NET Core配
- asp.net – 如何为Umbraco创建项目包?
- asp.net-mvc – 缓存直到ASP.NET MVC和Entity Framework 4.
- asp.net – 使用IIS7应用程序请求路由修改标头
- asp.net-mvc – Nuget如何指定包位置?
- ASP.NET Core中实现用户登录验证的最低配置示例代码
- asp.net – __ doPostBack()之后的回调?
- iis – ASP / ASP.NET处理写权限的最佳方法是什么?
- asp.net核心 – ASP.NET核心中的基本身份验证
- 在ASP.NET Identity中添加角色
推荐文章
站长推荐
- asp.net – 如何通过render事件禁用CalendarExte
- asp.net-mvc – SignInManager.PasswordSignInAs
- asp.net-mvc – 可以在ASP.NET MVC中停止表单的多
- asp.net-mvc – ASP.NET MVC身份默认实现
- asp.net-mvc-3 – ASP.NET MVC – 防止Ajax.Acti
- asp.net-mvc – 如何在ASP.NET MVC中生成弹出页面
- asp.net-mvc-4 – 会话到期后重定向到特定页面(M
- 如何在ASP.Net MVC应用程序中访问WCF服务?
- asp.net – 如何在主页面中包含CSS?
- asp.net – 无法加载mysql.web程序集
热点阅读
