public async Task <AuthorizationResult> AuthorizeAsync(ClaimsPrincipal claims, object resourceType, IEnumerable <IAuthorizationRequirement> requirements)
        {
            var userResource = JwtManager.GetUser(claims);

            if (userResource?.Email == Config.AppSettings.AdminUserName)
            {
                return(AuthorizationResult.Success());
            }

            var allowedActions = GetAllowedActions(userResource, resourceType.ToString()).ToList();

            if (IsAllowed(allowedActions, requirements.First()))
            {
                return(AuthorizationResult.Success());
            }
            else
            {
                return(AuthorizationResult.Failed());
            }
        }
示例#2
0
 protected void SetUser()
 {
     CurrentUserGetter.CurrentUser = JwtManager.GetUser(User);
 }