Class PermissionPolicyProvider
- Namespace
- Stratara.Identity.AspNetCore.Authorization
- Assembly
- Stratara.Identity.AspNetCore.dll
IAuthorizationPolicyProvider that turns every permission declared in the
application's PermissionCatalog into an authorization policy on demand — so
plain [Authorize("sims.read")] (or .RequireAuthorization("sims.read")) works
without registering one policy per permission by hand.
public sealed class PermissionPolicyProvider : IAuthorizationPolicyProvider
- Inheritance
-
PermissionPolicyProvider
- Implements
- Inherited Members
- Extension Methods
Remarks
Policy names that are not declared in the catalog defer to the default provider, so conventional named policies keep working unchanged. Generated policies require an authenticated user plus the PermissionRequirement, evaluated by PermissionAuthorizationHandler against the registered IPermissionResolver.
Constructors
PermissionPolicyProvider(IOptions<AuthorizationOptions>, PermissionCatalog)
IAuthorizationPolicyProvider that turns every permission declared in the
application's PermissionCatalog into an authorization policy on demand — so
plain [Authorize("sims.read")] (or .RequireAuthorization("sims.read")) works
without registering one policy per permission by hand.
public PermissionPolicyProvider(IOptions<AuthorizationOptions> options, PermissionCatalog catalog)
Parameters
optionsIOptions<AuthorizationOptions>The host's authorization options (consumed by the fallback default provider).
catalogPermissionCatalogThe application's permission catalog.
Remarks
Policy names that are not declared in the catalog defer to the default provider, so conventional named policies keep working unchanged. Generated policies require an authenticated user plus the PermissionRequirement, evaluated by PermissionAuthorizationHandler against the registered IPermissionResolver.
Methods
GetDefaultPolicyAsync()
Gets the default authorization policy.
public Task<AuthorizationPolicy> GetDefaultPolicyAsync()
Returns
- Task<AuthorizationPolicy>
The default authorization policy.
GetFallbackPolicyAsync()
Gets the fallback authorization policy.
public Task<AuthorizationPolicy?> GetFallbackPolicyAsync()
Returns
- Task<AuthorizationPolicy>
The fallback authorization policy.
GetPolicyAsync(string)
Gets a AuthorizationPolicy from the given policyName
public Task<AuthorizationPolicy?> GetPolicyAsync(string policyName)
Parameters
policyNamestringThe policy name to retrieve.
Returns
- Task<AuthorizationPolicy>
The named AuthorizationPolicy.