相关疑难解决方法(0)

根据操作名称授权用户

我有很多控制器有很多动作.每个操作都有自己的角色(角色名称= ControllerName.actionName).

在以前的版本中,我可以测试当前用户是否可以使用"通用"AuthorizeAttribute访问操作:

public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext)
{
    string currentAction = actionContext.ActionDescriptor.ActionName;
    string currentController = actionContext.ActionDescriptor.ControllerDescriptor.ControllerName;
    Roles = (currentController + "." + currentAction).ToLower();
    base.OnAuthorization(actionContext);
}
Run Code Online (Sandbox Code Playgroud)

使用asp.net 5版本,我发现我需要使用需求(如何在ASP.NET Core中创建自定义AuthorizeAttribute?).问题是AuthorizationContext没有向我们提供有关用户尝试访问的操作的信息.

我不想在每个操作上放置Authorize属性,有没有办法用新框架实现我的要求?(我更喜欢避免使用HttpContext.Current,它不适合管道架构)

c# asp.net asp.net-core-mvc asp.net-core

22
推荐指数
1
解决办法
9346
查看次数

标签 统计

asp.net ×1

asp.net-core ×1

asp.net-core-mvc ×1

c# ×1