|
|
|
@ -1,25 +1,12 @@ |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Security.Claims; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Volo.Abp; |
|
|
|
using Volo.Abp.Authorization; |
|
|
|
using Volo.Abp.Threading; |
|
|
|
|
|
|
|
namespace Microsoft.AspNetCore.Authorization |
|
|
|
{ |
|
|
|
// TODO: Complete all Sync extension methods!
|
|
|
|
public static class AbpAuthorizationServiceExtensions |
|
|
|
{ |
|
|
|
public static AuthorizationResult Authorize(this IAuthorizationService authorizationService, ClaimsPrincipal user, object resource, string policyName) |
|
|
|
{ |
|
|
|
return AsyncHelper.RunSync(() => authorizationService.AuthorizeAsync(user, resource, policyName)); |
|
|
|
} |
|
|
|
|
|
|
|
public static AuthorizationResult Authorize(this IAuthorizationService authorizationService, ClaimsPrincipal user, object resource, IEnumerable<IAuthorizationRequirement> requirements) |
|
|
|
{ |
|
|
|
return AsyncHelper.RunSync(() => authorizationService.AuthorizeAsync(user, resource, requirements)); |
|
|
|
} |
|
|
|
|
|
|
|
public static Task<AuthorizationResult> AuthorizeAsync(this IAuthorizationService authorizationService, string policyName) |
|
|
|
{ |
|
|
|
return AuthorizeAsync( |
|
|
|
@ -29,15 +16,6 @@ namespace Microsoft.AspNetCore.Authorization |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
public static AuthorizationResult Authorize(this IAuthorizationService authorizationService, string policyName) |
|
|
|
{ |
|
|
|
return Authorize( |
|
|
|
authorizationService, |
|
|
|
authorizationService.AsAbpAuthorizationService().CurrentPrincipal, |
|
|
|
policyName |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
public static Task<AuthorizationResult> AuthorizeAsync(this IAuthorizationService authorizationService, object resource, IAuthorizationRequirement requirement) |
|
|
|
{ |
|
|
|
return authorizationService.AuthorizeAsync( |
|
|
|
@ -81,25 +59,11 @@ namespace Microsoft.AspNetCore.Authorization |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
public static AuthorizationResult Authorize(this IAuthorizationService authorizationService, object resource, string policyName) |
|
|
|
{ |
|
|
|
return authorizationService.Authorize( |
|
|
|
authorizationService.AsAbpAuthorizationService().CurrentPrincipal, |
|
|
|
resource, |
|
|
|
policyName |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
public static async Task<bool> IsGrantedAsync(this IAuthorizationService authorizationService, string policyName) |
|
|
|
{ |
|
|
|
return (await authorizationService.AuthorizeAsync(policyName)).Succeeded; |
|
|
|
} |
|
|
|
|
|
|
|
public static bool IsGranted(this IAuthorizationService authorizationService, string policyName) |
|
|
|
{ |
|
|
|
return authorizationService.Authorize(policyName).Succeeded; |
|
|
|
} |
|
|
|
|
|
|
|
public static async Task<bool> IsGrantedAsync(this IAuthorizationService authorizationService, object resource, IAuthorizationRequirement requirement) |
|
|
|
{ |
|
|
|
return (await authorizationService.AuthorizeAsync(resource, requirement)).Succeeded; |
|
|
|
@ -133,11 +97,6 @@ namespace Microsoft.AspNetCore.Authorization |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public static void Check(this IAuthorizationService authorizationService, string policyName) |
|
|
|
{ |
|
|
|
AsyncHelper.RunSync(() => authorizationService.CheckAsync(policyName)); |
|
|
|
} |
|
|
|
|
|
|
|
public static async Task CheckAsync(this IAuthorizationService authorizationService, object resource, IAuthorizationRequirement requirement) |
|
|
|
{ |
|
|
|
if (!await authorizationService.IsGrantedAsync(resource, requirement)) |
|
|
|
|