AccessFilterService
in package
AccessFilterService - Comprehensive Access Control
Tags
Table of Contents
Constants
- ACCESS_DENIED = 'denied'
- ACCESS_FULL = 'full'
- ACCESS_METADATA_ONLY = 'metadata_only'
- ACCESS_RESTRICTED = 'restricted'
- DENIED_CLASSIFICATION = 'classification'
- DENIED_DONOR = 'donor_restriction'
- DENIED_EMBARGO = 'embargo'
- DENIED_STAR_PROPERTY = 'star_property'
Methods
- applyAccessFilters() : Builder
- Apply access filters to a query builder
- checkAccess() : array<string|int, mixed>
- Check if user can access a specific object
- getAccessibleCount() : int
- getInstance() : self
- getRestrictedObjects() : Collection
- getUserContext() : array<string|int, mixed>
- Get user context
- logAccess() : void
Constants
ACCESS_DENIED
public
mixed
ACCESS_DENIED
= 'denied'
ACCESS_FULL
public
mixed
ACCESS_FULL
= 'full'
ACCESS_METADATA_ONLY
public
mixed
ACCESS_METADATA_ONLY
= 'metadata_only'
ACCESS_RESTRICTED
public
mixed
ACCESS_RESTRICTED
= 'restricted'
DENIED_CLASSIFICATION
public
mixed
DENIED_CLASSIFICATION
= 'classification'
DENIED_DONOR
public
mixed
DENIED_DONOR
= 'donor_restriction'
DENIED_EMBARGO
public
mixed
DENIED_EMBARGO
= 'embargo'
DENIED_STAR_PROPERTY
public
mixed
DENIED_STAR_PROPERTY
= 'star_property'
Methods
applyAccessFilters()
Apply access filters to a query builder
public
applyAccessFilters(Builder $query, int|null $userId) : Builder
Parameters
- $query : Builder
- $userId : int|null
Return values
BuildercheckAccess()
Check if user can access a specific object
public
checkAccess(int $objectId, int|null $userId[, string $action = 'view' ]) : array<string|int, mixed>
Parameters
- $objectId : int
- $userId : int|null
- $action : string = 'view'
Return values
array<string|int, mixed>getAccessibleCount()
public
getAccessibleCount(int|null $userId) : int
Parameters
- $userId : int|null
Return values
intgetInstance()
public
static getInstance() : self
Return values
selfgetRestrictedObjects()
public
getRestrictedObjects() : Collection
Return values
CollectiongetUserContext()
Get user context
public
getUserContext(int|null $userId) : array<string|int, mixed>
Parameters
- $userId : int|null
Return values
array<string|int, mixed>logAccess()
public
logAccess(int $objectId, int|null $userId, string $action, array<string|int, mixed> $result) : void
Parameters
- $objectId : int
- $userId : int|null
- $action : string
- $result : array<string|int, mixed>