Class RoleBasedAuthorizationService
Service for handling role-based authorization checks
public class RoleBasedAuthorizationService
- Inheritance
-
RoleBasedAuthorizationService
- Inherited Members
Constructors
RoleBasedAuthorizationService()
public RoleBasedAuthorizationService()
Methods
Authorize(SessionContext?, Permission)
Checks if a session has a specific permission
public bool Authorize(SessionContext? session, Permission permission)
Parameters
sessionSessionContextpermissionPermission
Returns
AuthorizeAll(SessionContext?, params Permission[])
Checks if a session has all of the specified permissions
public bool AuthorizeAll(SessionContext? session, params Permission[] permissions)
Parameters
sessionSessionContextpermissionsPermission[]
Returns
AuthorizeAny(SessionContext?, params Permission[])
Checks if a session has any of the specified permissions
public bool AuthorizeAny(SessionContext? session, params Permission[] permissions)
Parameters
sessionSessionContextpermissionsPermission[]
Returns
CanAccessUserData(SessionContext?, Guid)
Checks if a user can access another user's data
public static bool CanAccessUserData(SessionContext? session, Guid targetUserId)
Parameters
sessionSessionContexttargetUserIdGuid
Returns
CanModifyUserData(SessionContext?, Guid)
Checks if a user can modify another user's data
public bool CanModifyUserData(SessionContext? session, Guid targetUserId)
Parameters
sessionSessionContexttargetUserIdGuid
Returns
CreateAuthorizationException(SessionContext?, Permission, string?)
Creates an authorization exception with context
public static UnauthorizedAccessException CreateAuthorizationException(SessionContext? session, Permission requiredPermission, string? additionalMessage = null)
Parameters
sessionSessionContextrequiredPermissionPermissionadditionalMessagestring
Returns
GetRolePermissions(UserRole)
Gets all permissions for a specific role
public IEnumerable<Permission> GetRolePermissions(UserRole role)
Parameters
roleUserRole
Returns
HasPermission(UserRole, Permission)
Checks if a role has a specific permission
public bool HasPermission(UserRole role, Permission permission)
Parameters
roleUserRolepermissionPermission
Returns
ValidateSession(SessionContext?)
Validates that a session is valid and not expired
public static bool ValidateSession(SessionContext? session)
Parameters
sessionSessionContext