-
Notifications
You must be signed in to change notification settings - Fork 1
Permissions
PiaLamprecht edited this page May 28, 2017
·
4 revisions
Wir wollen folgende Funktionalität zur Verfügung stellen:
- jeder User bekommt entsprechend seiner Rolle bestimmte Rechte
- diese Rechte können für bestimmte User in bestimmten Bereichen geändert werden
- zusätzlich kann man einzelnen Objekten mehrere User mit unterschiedlichen Rechten für dieses Objekt ausstatten
Dafür gibt es im Backend folgende Strukturen:
Es gibt ein Permission enum mit folgendem Inhalt:
public enum Permission {
@SerializedName("0")
none,
@SerializedName("1")
read,
@SerializedName("2")
write,
@SerializedName("3")
create,
@SerializedName("4")
delete,
@SerializedName("5")
admin
}
Außerdem verschiedene Bereiche in denen ein User Permissions erhalten kann:
private Permission funds; // Zugriff auf Kassenbuch
private Permission party; // Zugriff auf Party Objekte
private Permission user; // Zugriff auf User Management
private Permission merch; // Zugriff auf Merchandise Objekte
private Permission tour; // Zugriff auf Tour Objekte
private Permission stock; // Zugriff auf den Stock
private Permission settings; // Zugriff auf allgemeine Einstellungen wie Bezahlmethoden oder Standardaufschlag für Nichtmitglieder
Die Rechte werden standardmäßig induziert durch die Clubrolle, können aber verändert werden (mit genug rechten in settings). Die Induzierten Rollen können hier nachgelesen werden: https://drive.google.com/open?id=1KFzRoxtlFcRI3le5xql8e8RahZ23VJH81c4frPV0UmE
Außerdem sollen Objekte User speichern, die besondere Rechte haben. Hiermit können Rechte nur angehoben aber nicht entzogen werden. Es gilt permission = max(Event.permission,User.permission)