-
Notifications
You must be signed in to change notification settings - Fork 1
Permissions
sinnloserName4 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 account; // 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 account) Die induzierten Rollen werden als Tabelle nachgeliefert.
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)'