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
optionsIOptions<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
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
policyNamestringThe 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.