Limitierungs - Klassse (Restriction).... Konzept so OK?

beta20

Top Contributor
Hallo zuzsammen,

ich möchte in meiner App eine Klasse "Restriction" hinzufügen.
Diese soll pro User festlegen, wieviel Kunden er bspw. anlegen kann.
Also letztenendes verhindern, dass der User unendlich Dateien hochladen kann, Objekte anlegen kann usw.

Gedacht habe ich mir das so:
1) Ich erstelle zwei Tabellen:

Restriction
- ID
- Device (Mobile, Browser, API)
- Size (in byte, kann aber auch die reine Anzahl sein, bspw. Kunden anlegen)
- RestrictionTypeGroup (API, FILE_UPLOAD, CREATE, UPDATE, DELETE)
- RestrictionType (CREATE_CUSTOMER.....)
- EntityType (CUSTOMER, USER....)
- page (wenn es für eine spezielle Seite gilt)
- Restriction_Group_FK


RestrictionGroup
-> (Gruppierungen von Restrictionen, wie eine Rolle bei den Berechtigungen)

- ID
- Name
- Description
- Type (Standard / Custom) -> Wenn bei einem Employee oder Mandant spezielle Einstellungen sind
- Tarif_FK
- User_FK (Wenn individuell angepasst)
-> User_FK kann NULL sein (gilt dann global für alle User).
-> Wenn nicht NULL, dann ist sie benutzerdefiniert.


Die Idee ist nun (am Beispiel anlegen eines Kunden):
-> Methode zum Erstellen eines Kunden wird aufgerufen.
-> Es wird geprüft, ob der User bereits mehr als 100 Kunden hat. (Restriction: size = 100)

o Anzahl der bisher angelegt Kunden prüfen (total)
o Restriction laden aus der DB
-> Spezielle Restriction für User vorhanden? Falls nein, dann global laden
-> Wenn Anzahl größer als Limit ist, dann Exception werfen

Generell würde mich interessieren, ob das Konzept so i.O. ist oder ob man das anderst machen sollte?
Ebenfalls ob das aus Performancesicht nicht so toll ist, wenn man bei jeder Methode (Anlegen, Updaten etc.) solche Prüfungen macht...

Danke für Tipps.
 

Ähnliche Java Themen

Neue Themen


Oben