trait AccessControlListImplementation

Liste von Zugriffsberechtigungen und Entitäten.

Objekte dieser Klasse führen zwei Listen. Ein mit den möglichen Berechtigungen und eine mit den Entitäten, die diese Berechtigungen besitzen. Über die Methode DefaultAccessControl::isPermit() kann geprüft werden ob eine Entität ein bestimmtes Recht besitzt.

Wird eine Gruppe oder Rolle hinzugefügt, so wird rekursive in dieser Rolle oder Gruppe gesucht.

Properties

protected string $accessControlListName
protected AccessControl> $accessControlList Zugriffsliste

Methods

initAccessControlList(string $name = null)

Trait initalisieren; Wird vom Konstruktor aufgerufen.

AccessControl>
getAccessControlList()

Kontrollliste mit Collection initialisieren

boolean
isPermit(Entity $entity, Permission $permission)

Prüft ob die übergebe Entity ein bestimmtes Recht besitzt, z.B. der Zugriff auf eine bestimmte Resource erlaubt wird.

AccessControl>
getAccessControl()

Zugriffslisten

addAccessControl(AccessControl $accessControl)

Zugriffskontrolle hinzufügen

removeAccessControl(AccessControl $accessControl)

Zugriffskontrolle entfernen

attachAuthority(Authority $authority)

Authority zuweisen

string
getEntitiesWithReadPermissions()

Die Entities mit Leseberechtigung als Zeichenkette holen. Diese dienen zum Beispiel bei der Indizierung für die Leseberechtigung.

Details

at line 62
initAccessControlList(string $name = null)

Trait initalisieren; Wird vom Konstruktor aufgerufen.

Parameters

string $name (Standard ist default)

at line 73
protected AccessControl> getAccessControlList()

Kontrollliste mit Collection initialisieren

Return Value

AccessControl>

at line 92
boolean isPermit(Entity $entity, Permission $permission)

Prüft ob die übergebe Entity ein bestimmtes Recht besitzt, z.B. der Zugriff auf eine bestimmte Resource erlaubt wird.

Gruppen und Rollen werden rekursiv durchsucht.

Parameters

Entity $entity Entity
Permission $permission Recht

Return Value

boolean true oder false

at line 108
AccessControl> getAccessControl()

Zugriffslisten

Return Value

AccessControl>

at line 119
AccessControlList addAccessControl(AccessControl $accessControl)

Zugriffskontrolle hinzufügen

Parameters

AccessControl $accessControl

Return Value

AccessControlList Dieses Objekt

at line 131
AccessControlList removeAccessControl(AccessControl $accessControl)

Zugriffskontrolle entfernen

Parameters

AccessControl $accessControl

Return Value

AccessControlList Dieses Objekt

at line 143
DefaultAccessControlList attachAuthority(Authority $authority)

Authority zuweisen

Parameters

Authority $authority

Return Value

DefaultAccessControlList

at line 167
string getEntitiesWithReadPermissions()

Die Entities mit Leseberechtigung als Zeichenkette holen. Diese dienen zum Beispiel bei der Indizierung für die Leseberechtigung.

Mapping für die Konfiguration

Ausgangsfeld in dem Objekt: application.storageindex.mystring.map.name.property=entitieswithreadpermissions Mapping auf das folgende Solr-Feld application.storageindex.mystring.map.name.indexkey=sys_entities_with_read_permission

Return Value

string

Exceptions

SecurityBreachException Wenn ACL definiert werden, die keine Leseberechtigung enthalten, Der Datensatz wäre dann nicht mehr lesbar.