private IEnumerable <IAuthorizeData> GetAuthorizeData(AuthorizationAction authorizationAction) { if (string.IsNullOrWhiteSpace(authorizationAction.Roles) && string.IsNullOrWhiteSpace(authorizationAction.Policy)) { return(null); } return(new[] { authorizationAction }); }
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)); }