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
stringThe resource being accessed (e.g., "users", "orders").
operation
stringThe 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
oroperation
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.