Exemplo n.º 1
0
 private IEnumerable <IAuthorizeData> GetAuthorizeData(AuthorizationAction authorizationAction)
 {
     if (string.IsNullOrWhiteSpace(authorizationAction.Roles) &&
         string.IsNullOrWhiteSpace(authorizationAction.Policy))
     {
         return(null);
     }
     return(new[]
     {
         authorizationAction
     });
 }
Exemplo n.º 2
0
        private IEnumerable <IAuthorizeData> GetAuthorizeFilters(ControllerActionDescriptor controllerActionDescriptor)
        {
            if (controllerActionDescriptor == null)
            {
                throw new ArgumentNullException(nameof(controllerActionDescriptor));
            }
            if (AuthorizationSettings == null)
            {
                throw new ArgumentNullException(nameof(Authorization.AuthorizationSettings));
            }

            string            areaName          = GetAreaName(controllerActionDescriptor);
            string            actionName        = controllerActionDescriptor.ActionName;
            string            controllerName    = controllerActionDescriptor.ControllerName;
            AuthorizationArea authorizationArea =
                AuthorizationSettings.Areas.FirstOrDefault(area => area.Name == areaName);

            if (authorizationArea == null)
            {
                return(null);
            }
            AuthorizationController authorizationController =
                authorizationArea.Controllers.FirstOrDefault(controller => controller.Name == controllerName);

            if (authorizationController == null)
            {
                return(GetAuthorizeData(authorizationArea));
            }
            AuthorizationAction authorizationAction =
                authorizationController.Actions.FirstOrDefault(action => action.Name == actionName);

            if (authorizationAction == null)
            {
                return(GetAuthorizeData(authorizationController));
            }
            return(GetAuthorizeData(authorizationAction));
        }