Table of Contents

Interface IAuthorizationRequirementFactory

Namespace
Htmx.Components.Authorization
Assembly
Htmx.Components.dll

Factory for creating authorization requirements based on roles or on resource and operation combinations.

public interface IAuthorizationRequirementFactory
Extension Methods

Examples

public class CustomAuthorizationRequirementFactory : IAuthorizationRequirementFactory
{
    public IAuthorizationRequirement ForOperation(string resource, string operation)
    {
        return new OperationAuthorizationRequirement { Name = $"{resource}:{operation}" };
    }

    public IAuthorizationRequirement ForRoles(params string[] roles)
    {
        return new RolesAuthorizationRequirement(roles);
    }
}

Remarks

This interface allows applications to customize how authorization requirements are created for different types of operations and resources. Implementations should integrate with the application's authorization system to provide appropriate IAuthorizationRequirement instances.

Methods

ForOperation(string, string)

Creates an authorization requirement for a specific resource and operation combination.

IAuthorizationRequirement ForOperation(string resource, string operation)

Parameters

resource string

The resource being accessed (e.g., "users", "orders").

operation string

The operation being performed (e.g., "read", "create", "update", "delete").

Returns

IAuthorizationRequirement

An IAuthorizationRequirement instance for the specified resource and operation.

Exceptions

ArgumentNullException

Thrown when resource or operation is null.

ForRoles(params string[])

Creates an authorization requirement based on role membership.

IAuthorizationRequirement ForRoles(params string[] roles)

Parameters

roles string[]

The roles that are allowed to access the resource.

Returns

IAuthorizationRequirement

An IAuthorizationRequirement instance for the specified roles.

Exceptions

ArgumentNullException

Thrown when roles is null.