Zitat von
mschaefer:
Guten Abend,
"Warnung: - unstrukturiertes Problem - "
In einem Programm zur Auftragsbearbeitung komme ich jetzt an das Problem verschiedener
Nutzerrechte. Ganz konkret, wer darf Artikel im Artikelkatalog löschen, wer darf Rechnungen
drucken und wer Lieferscheine.... Oft ist es auch so, dass eine Nutzergruppe nur an einem jeweiligen Rechner arbeitet. Bin mir allerdings über die prinzipielle herangehensweise nicht einig.
Im Prinzip hängt von der Nutzergruppe ab, ob alle oder nur eine Auswahl von Buttons mit Funktionen verfügbar ist. MAn könnte ein Programm je nach Nutzergruppe mit einem Parameter starten und die Buttons in Abhängigkeit davon als enabled/disabled stellen. Dann würden meine Buttons Parametereigenschaften bekommen. Oder brauch man dazu ein Nutzerobjekt mit Login wovon wieder
die Buttonverfügbarkeit abhängt. Gibt es in Delphi schon Modelle oder hat jemand hier schon praktische Erfahrungen und eine Vorgehensweise für sich entwickelt?
Grüße // Martin
Hallo Martin,
da steht Dir ja einiges bevor. Du brauchst für due spätere effiziente Verwaltung mindestens einen Abkömmling von TActionlist. Diese füllt die Verfügbarkeit bestimmter Actions beim Wechsel des Benutzers. Wenn Du dann alles (Menüs, Buttons etc.) über diese Actionlist-Kompos laufen lässt, erledigt Delphi viel von dem Kleinkram (z.B. Elemente disablen) für Dich. Die Berechtigungen und Actions würde ich in einer verschlüsselten
DB-Tabelle eintragen. Vielleicht als Key dort den Tag (des Objects) verwenden.
Schlimmer wird es nur, wenn dir Berechtigungen auch noch in Ansehen/Lesen/Schreiben/Neuanlegen/Löschen bis auf Feldebene gehen sollen. Dann würde ich Dir eine fertige Komponentensammlung dafür empfehlen.