Browse Source

Implemented allow anonymous for auth interception.

pull/216/head
Halil İbrahim Kalkan 9 years ago
parent
commit
4388995788
  1. 1
      src/Volo.Abp.Authorization/Volo/Abp/Authorization/AbpAuthorizationPolicyProvider.cs
  2. 10
      src/Volo.Abp.Authorization/Volo/Abp/Authorization/MethodInvocationAuthorizationService.cs

1
src/Volo.Abp.Authorization/Volo/Abp/Authorization/AbpAuthorizationPolicyProvider.cs

@ -24,7 +24,6 @@ namespace Volo.Abp.Authorization
var permission = _permissionDefinitionManager.GetOrNull(policyName);
if (permission == null)
{
return await base.GetPolicyAsync(policyName);
}

10
src/Volo.Abp.Authorization/Volo/Abp/Authorization/MethodInvocationAuthorizationService.cs

@ -16,7 +16,10 @@ namespace Volo.Abp.Authorization
public async Task CheckAsync(MethodInvocationAuthorizationContext context)
{
//TODO: Fully implement! (allow anonymous... etc.)
if (AllowAnonymous(context))
{
return;
}
var authorizationAttributes = GetAuthorizationDataAttributes(context);
foreach (var authorizationAttribute in authorizationAttributes)
@ -25,6 +28,11 @@ namespace Volo.Abp.Authorization
}
}
protected virtual bool AllowAnonymous(MethodInvocationAuthorizationContext context)
{
return context.Method.GetCustomAttributes(true).OfType<IAllowAnonymous>().Any();
}
protected virtual IAuthorizeData[] GetAuthorizationDataAttributes(MethodInvocationAuthorizationContext context)
{
return context.Method

Loading…
Cancel
Save