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

bool
isPermit(Entity $entity, Permission $permission, Context $context = null)

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 61
initAccessControlList(string $name = null)

Trait initalisieren; Wird vom Konstruktor aufgerufen.

Parameters

string $name (Standard ist default)

at line 72
protected AccessControl> getAccessControlList()

Kontrollliste mit Collection initialisieren

Return Value

AccessControl>

at line 93
bool isPermit(Entity $entity, Permission $permission, Context $context = null)

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. Die Standard- implementierung verwendet keinen Kontext.

Parameters

Entity $entity
Permission $permission
Context $context

Return Value

bool

at line 109
AccessControl> getAccessControl()

Zugriffslisten

Return Value

AccessControl>

at line 120
AccessControlList addAccessControl(AccessControl $accessControl)

Zugriffskontrolle hinzufügen

Parameters

AccessControl $accessControl

Return Value

AccessControlList Dieses Objekt

at line 132
AccessControlList removeAccessControl(AccessControl $accessControl)

Zugriffskontrolle entfernen

Parameters

AccessControl $accessControl

Return Value

AccessControlList Dieses Objekt

at line 144
DefaultAccessControlList attachAuthority(Authority $authority)

Authority zuweisen

Parameters

Authority $authority

Return Value

DefaultAccessControlList

at line 168
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.