Class AuthorizationPolicyContext

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

The caller and resource presented to an authorization policy.

public record AuthorizationPolicyContext : IEquatable<AuthorizationPolicyContext>
Inheritance
AuthorizationPolicyContext
Implements
Inherited Members
Extension Methods

Constructors

AuthorizationPolicyContext(AuthorizationPolicyContext)

protected AuthorizationPolicyContext(AuthorizationPolicyContext original)

Parameters

original AuthorizationPolicyContext

AuthorizationPolicyContext(ClaimsPrincipal, MemberInfo, object)

The caller and resource presented to an authorization policy.

public AuthorizationPolicyContext(ClaimsPrincipal Principal, MemberInfo Target, object Resource)

Parameters

Principal ClaimsPrincipal

The principal selected by the authorization schemes.

Target MemberInfo

The command type or query method being authorized.

Resource object

The command or query context.

Properties

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

Principal

The principal selected by the authorization schemes.

public ClaimsPrincipal Principal { get; init; }

Property Value

ClaimsPrincipal

ReceivedAt

Gets the time Arc received the operation being authorized, not the network arrival time. A hand-constructed context has default unless the caller sets this property.

public DateTimeOffset ReceivedAt { get; init; }

Property Value

DateTimeOffset

Resource

The command or query context.

public object Resource { get; init; }

Property Value

object

Target

The command type or query method being authorized.

public MemberInfo Target { get; init; }

Property Value

MemberInfo

Methods

Deconstruct(out ClaimsPrincipal, out MemberInfo, out object)

public void Deconstruct(out ClaimsPrincipal Principal, out MemberInfo Target, out object Resource)

Parameters

Principal ClaimsPrincipal
Target MemberInfo
Resource object

Equals(AuthorizationPolicyContext?)

Compares the public policy input: principal, target, resource and received time.

public virtual bool Equals(AuthorizationPolicyContext? other)

Parameters

other AuthorizationPolicyContext

The context to compare with.

Returns

bool

Whether both contexts present the same policy input.

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

PrintMembers(StringBuilder)

protected virtual bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

ToString()

public override string ToString()

Returns

string

Operators

operator ==(AuthorizationPolicyContext?, AuthorizationPolicyContext?)

public static bool operator ==(AuthorizationPolicyContext? left, AuthorizationPolicyContext? right)

Parameters

left AuthorizationPolicyContext
right AuthorizationPolicyContext

Returns

bool

operator !=(AuthorizationPolicyContext?, AuthorizationPolicyContext?)

public static bool operator !=(AuthorizationPolicyContext? left, AuthorizationPolicyContext? right)

Parameters

left AuthorizationPolicyContext
right AuthorizationPolicyContext

Returns

bool