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

currentPrincipalAccessor ICurrentPrincipalAccessor

The current principal.

anonymousEvaluators IInstancesOf<IAnonymousEvaluator>

The anonymous attribute evaluators.

authorizationAttributeEvaluators IInstancesOf<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

currentPrincipalAccessor ICurrentPrincipalAccessor

The current principal.

anonymousEvaluators IInstancesOf<IAnonymousEvaluator>

The anonymous attribute evaluators.

authorizationAttributeEvaluators IInstancesOf<IAuthorizationAttributeEvaluator>

The authorization attribute evaluators.

fallbackEvaluators IInstancesOf<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

declaration AuthorizationDeclaration

The effective declaration.

principal ClaimsPrincipal

The 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

method MethodInfo

The 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

type Type

The type to check for authorization attributes.

Returns

bool

True if authorized, false if unauthorized.