Class AuthorizationEvaluator
- Namespace
- Cratis.Arc.Authorization
- Assembly
- Cratis.Arc.Core.dll
Evaluates authentication and roles declared on a type or method. Policy-bearing declarations require the asynchronous pipeline.
public class AuthorizationEvaluator : IAuthorizationEvaluator
- Inheritance
-
AuthorizationEvaluator
- Implements
- Inherited Members
- Extension Methods
Constructors
AuthorizationEvaluator(ICurrentPrincipalAccessor, IInstancesOf<IAnonymousEvaluator>, IInstancesOf<IAuthorizationAttributeEvaluator>)
Evaluates authentication and roles declared on a type or method. Policy-bearing declarations require the asynchronous pipeline.
public AuthorizationEvaluator(ICurrentPrincipalAccessor currentPrincipalAccessor, IInstancesOf<IAnonymousEvaluator> anonymousEvaluators, IInstancesOf<IAuthorizationAttributeEvaluator> authorizationAttributeEvaluators)
Parameters
currentPrincipalAccessorICurrentPrincipalAccessorThe current principal.
anonymousEvaluatorsIInstancesOf<IAnonymousEvaluator>The anonymous attribute evaluators.
authorizationAttributeEvaluatorsIInstancesOf<IAuthorizationAttributeEvaluator>The authorization attribute evaluators.
AuthorizationEvaluator(ICurrentPrincipalAccessor, IInstancesOf<IAnonymousEvaluator>, IInstancesOf<IAuthorizationAttributeEvaluator>, IInstancesOf<IFallbackAuthorizationEvaluator>)
Initializes the evaluator with baseline requirements discovered by convention.
public AuthorizationEvaluator(ICurrentPrincipalAccessor currentPrincipalAccessor, IInstancesOf<IAnonymousEvaluator> anonymousEvaluators, IInstancesOf<IAuthorizationAttributeEvaluator> authorizationAttributeEvaluators, IInstancesOf<IFallbackAuthorizationEvaluator> fallbackEvaluators)
Parameters
currentPrincipalAccessorICurrentPrincipalAccessorThe current principal.
anonymousEvaluatorsIInstancesOf<IAnonymousEvaluator>The anonymous attribute evaluators.
authorizationAttributeEvaluatorsIInstancesOf<IAuthorizationAttributeEvaluator>The authorization attribute evaluators.
fallbackEvaluatorsIInstancesOf<IFallbackAuthorizationEvaluator>Baseline requirements used only when no explicit declaration applies.
Methods
Check(AuthorizationDeclaration, ClaimsPrincipal?)
Checks the authentication and roles of an already selected principal.
public static bool Check(AuthorizationDeclaration declaration, ClaimsPrincipal? principal)
Parameters
declarationAuthorizationDeclarationThe effective declaration.
principalClaimsPrincipalThe selected principal.
Returns
- bool
True if the caller meets the authentication and role requirements.
Exceptions
- AsynchronousAuthorizationRequired
A policy or scheme requires the asynchronous pipeline.
IsAuthorized(MethodInfo)
Checks if the current user is authorized based on the AuthorizeAttribute on the specified method.
public bool IsAuthorized(MethodInfo method)
Parameters
methodMethodInfoThe method to check for authorization attributes.
Returns
- bool
True if authorized, false if unauthorized.
IsAuthorized(Type)
Checks if the current user is authorized based on the AuthorizeAttribute on the specified type.
public bool IsAuthorized(Type type)
Parameters
typeTypeThe type to check for authorization attributes.
Returns
- bool
True if authorized, false if unauthorized.