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
resourcestringThe resource being accessed (e.g., "users", "orders").
operationstringThe operation being performed (e.g., "read", "create", "update", "delete").
Returns
- IAuthorizationRequirement
An IAuthorizationRequirement instance for the specified resource and operation.
Exceptions
- ArgumentNullException
Thrown when
resourceoroperationis null.
ForRoles(params string[])
Creates an authorization requirement based on role membership.
IAuthorizationRequirement ForRoles(params string[] roles)
Parameters
rolesstring[]The roles that are allowed to access the resource.
Returns
- IAuthorizationRequirement
An IAuthorizationRequirement instance for the specified roles.
Exceptions
- ArgumentNullException
Thrown when
rolesis null.