Class ArcAuthorizationPolicyRuntime

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

Evaluates native Arc policies; the standalone host cannot authenticate named schemes.

public class ArcAuthorizationPolicyRuntime : IAuthorizationPolicyRuntime
Inheritance
ArcAuthorizationPolicyRuntime
Implements
Inherited Members
Extension Methods

Constructors

ArcAuthorizationPolicyRuntime(IEnumerable<AuthorizationPolicyRegistration>)

Evaluates native Arc policies; the standalone host cannot authenticate named schemes.

public ArcAuthorizationPolicyRuntime(IEnumerable<AuthorizationPolicyRegistration> registrations)

Parameters

registrations IEnumerable<AuthorizationPolicyRegistration>

Named policy registrations.

Methods

HasPolicy(string)

Checks whether a name identifies exactly one native policy.

public bool HasPolicy(string name)

Parameters

name string

The policy name.

Returns

bool

Whether it is registered.

Exceptions

InvalidAuthorizationConfiguration

The policy name is ambiguous.

Resolve(IReadOnlyList<AuthorizationRequirement>, IServiceProvider, CancellationToken)

Resolves and validates policies and schemes once for an admission attempt.

public Task<IAuthorizationPolicyResolution> Resolve(IReadOnlyList<AuthorizationRequirement> requirements, IServiceProvider services, CancellationToken cancellationToken)

Parameters

requirements IReadOnlyList<AuthorizationRequirement>

The effective requirements.

services IServiceProvider

The executing service scope.

cancellationToken CancellationToken

Cancellation.

Returns

Task<IAuthorizationPolicyResolution>

A stable operation-local policy resolution.

Validate(IReadOnlyList<AuthorizationRequirement>, IServiceProvider, CancellationToken)

Validates every requirement before admission or startup.

public Task Validate(IReadOnlyList<AuthorizationRequirement> requirements, IServiceProvider services, CancellationToken cancellationToken)

Parameters

requirements IReadOnlyList<AuthorizationRequirement>

The requirements.

services IServiceProvider

The current service scope.

cancellationToken CancellationToken

Cancellation.

Returns

Task

The validation operation.