Class AuthorizationEvaluation

Namespace
Cratis.Arc.Authorization
Assembly
Cratis.Arc.Core.dll

Applies asynchronous policy and scheme requirements without replacing legacy evaluator verdicts.

public class AuthorizationEvaluation
Inheritance
AuthorizationEvaluation
Inherited Members
Extension Methods

Constructors

AuthorizationEvaluation(AuthorizationDeclarations, IAuthorizationEvaluator, ICurrentPrincipalAccessor, IAuthorizationPolicyRuntime)

Applies asynchronous policy and scheme requirements without replacing legacy evaluator verdicts.

public AuthorizationEvaluation(AuthorizationDeclarations declarations, IAuthorizationEvaluator evaluator, ICurrentPrincipalAccessor principalAccessor, IAuthorizationPolicyRuntime runtime)

Parameters

declarations AuthorizationDeclarations

The effective declarations.

evaluator IAuthorizationEvaluator

The configured legacy evaluator.

principalAccessor ICurrentPrincipalAccessor

The current principal.

runtime IAuthorizationPolicyRuntime

The host's policy and authentication runtime.

Methods

IsAuthorized(MemberInfo, object, IServiceProvider, CancellationToken, Func<bool>?)

Authorizes a command or query against its declaration.

public Task<bool> IsAuthorized(MemberInfo target, object resource, IServiceProvider services, CancellationToken cancellationToken, Func<bool>? legacyVerdict = null)

Parameters

target MemberInfo

The command type or query method.

resource object

The command or query context.

services IServiceProvider

The executing scope.

cancellationToken CancellationToken

The request cancellation token.

legacyVerdict Func<bool>

An optional query performer's legacy authorization verdict.

Returns

Task<bool>

True only when all declared requirements and legacy checks allow access.

Exceptions

InvalidAuthorizationConfiguration

The target or configuration is unsupported.