Table of Contents

Class AuthorizationPermissionPolicyProvider

Namespace
NuvTools.Security.Identity.Policy
Assembly
NuvTools.Security.Identity.dll

Custom implementation of IAuthorizationPolicyProvider that dynamically generates authorization policies based on permission claims.

public class AuthorizationPermissionPolicyProvider : IAuthorizationPolicyProvider
Inheritance
AuthorizationPermissionPolicyProvider
Implements
Inherited Members

Remarks

This provider enables runtime creation of policies following a naming convention.
If a policy name starts with Permission, it creates a policy that requires a PermissionRequirement with the corresponding value.
Otherwise, it delegates to the default DefaultAuthorizationPolicyProvider.

Constructors

AuthorizationPermissionPolicyProvider(IOptions<AuthorizationOptions>)

Custom implementation of IAuthorizationPolicyProvider that dynamically generates authorization policies based on permission claims.

public AuthorizationPermissionPolicyProvider(IOptions<AuthorizationOptions> options)

Parameters

options IOptions<AuthorizationOptions>

Remarks

This provider enables runtime creation of policies following a naming convention.
If a policy name starts with Permission, it creates a policy that requires a PermissionRequirement with the corresponding value.
Otherwise, it delegates to the default DefaultAuthorizationPolicyProvider.

Properties

FallbackPolicyProvider

The default fallback policy provider used for standard authorization policies.

public DefaultAuthorizationPolicyProvider FallbackPolicyProvider { get; }

Property Value

DefaultAuthorizationPolicyProvider

Methods

GetDefaultPolicyAsync()

Retrieves the default authorization policy.

public Task<AuthorizationPolicy> GetDefaultPolicyAsync()

Returns

Task<AuthorizationPolicy>

A Task<TResult> containing the default AuthorizationPolicy.

GetFallbackPolicyAsync()

Retrieves the fallback authorization policy, if defined.

public Task<AuthorizationPolicy?> GetFallbackPolicyAsync()

Returns

Task<AuthorizationPolicy>

Always returns null since this provider does not define a fallback policy.

GetPolicyAsync(string)

Retrieves an authorization policy based on the specified policy name.

public Task<AuthorizationPolicy?> GetPolicyAsync(string policyName)

Parameters

policyName string

The name of the policy to retrieve.

Returns

Task<AuthorizationPolicy>

A Task<TResult> containing the AuthorizationPolicy, or null if none exists.

Remarks

If the policyName starts with Permission,
a new policy will be built dynamically that enforces a PermissionRequirement.
Otherwise, the request is delegated to the fallback provider.