Skip to main content
Table of Contents

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

options IOptions<AuthorizationOptions>

The host's authorization options (consumed by the fallback default provider).

catalog PermissionCatalog

The 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

policyName string

The policy name to retrieve.

Returns

Task<AuthorizationPolicy>

The named AuthorizationPolicy.