Table of Contents

Class RoleBasedAuthorizationService

Namespace
Core.CliniCore.Service
Assembly
Core.CliniCore.dll

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

session SessionContext
permission Permission

Returns

bool

AuthorizeAll(SessionContext?, params Permission[])

Checks if a session has all of the specified permissions

public bool AuthorizeAll(SessionContext? session, params Permission[] permissions)

Parameters

session SessionContext
permissions Permission[]

Returns

bool

AuthorizeAny(SessionContext?, params Permission[])

Checks if a session has any of the specified permissions

public bool AuthorizeAny(SessionContext? session, params Permission[] permissions)

Parameters

session SessionContext
permissions Permission[]

Returns

bool

CanAccessUserData(SessionContext?, Guid)

Checks if a user can access another user's data

public static bool CanAccessUserData(SessionContext? session, Guid targetUserId)

Parameters

session SessionContext
targetUserId Guid

Returns

bool

CanModifyUserData(SessionContext?, Guid)

Checks if a user can modify another user's data

public bool CanModifyUserData(SessionContext? session, Guid targetUserId)

Parameters

session SessionContext
targetUserId Guid

Returns

bool

CreateAuthorizationException(SessionContext?, Permission, string?)

Creates an authorization exception with context

public static UnauthorizedAccessException CreateAuthorizationException(SessionContext? session, Permission requiredPermission, string? additionalMessage = null)

Parameters

session SessionContext
requiredPermission Permission
additionalMessage string

Returns

UnauthorizedAccessException

GetRolePermissions(UserRole)

Gets all permissions for a specific role

public IEnumerable<Permission> GetRolePermissions(UserRole role)

Parameters

role UserRole

Returns

IEnumerable<Permission>

HasPermission(UserRole, Permission)

Checks if a role has a specific permission

public bool HasPermission(UserRole role, Permission permission)

Parameters

role UserRole
permission Permission

Returns

bool

ValidateSession(SessionContext?)

Validates that a session is valid and not expired

public static bool ValidateSession(SessionContext? session)

Parameters

session SessionContext

Returns

bool