C# MVC授权属性必须满足所有要求,是否只能满足一个要求?

C# MVC授权属性必须满足所有要求,是否只能满足一个要求?,c#,asp.net,asp.net-mvc,authorization,C#,Asp.net,Asp.net Mvc,Authorization,我希望管理员或特定用户能够访问我的视图。所以我添加了这个属性 [Authorize(Roles = "Admin", Users = "john, jane, jim" )] 我希望,如果用户满足角色或用户的要求,他们将获得授权。但它似乎只授权符合这两个条件的用户 是否可以将其作为或处理?我刚刚创建了一个自定义授权类,用于处理未经授权的请求并进行自身比较。我还添加了一个重定向到自定义未经授权的视图,而不是抛出一个401错误 public class MyAuthorizeAttribute :

我希望管理员或特定用户能够访问我的视图。所以我添加了这个属性

[Authorize(Roles = "Admin", Users = "john, jane, jim" )]
我希望,如果用户满足角色或用户的要求,他们将获得授权。但它似乎只授权符合这两个条件的用户


是否可以将其作为或处理?

我刚刚创建了一个自定义授权类,用于处理未经授权的请求并进行自身比较。我还添加了一个重定向到自定义未经授权的视图,而不是抛出一个401错误

public class MyAuthorizeAttribute : AuthorizeAttribute
{
    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
        if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
        {
            // The user is not authenticated
            base.HandleUnauthorizedRequest(filterContext);
        }
        else if (!Roles.Split(',').Any(filterContext.HttpContext.User.IsInRole) && !Users.Split(',').Any(ex => ex.ToLower().Trim() == filterContext.HttpContext.User.Identity.Name.ToLower()))
        {
            // The user is not in any of the listed roles => 
            // show the unauthorized view
            filterContext.Result = new ViewResult
            {
                ViewName = "~/Views/Shared/Unauthorized.cshtml"
            };
        }
    }
}
然后我只是在属性中使用
MyAuthorize
而不是像这样使用
Authorize

[MyAuthorize(Users = "john, jane, tim", Roles = "admin")]