AW: Benutzerrechte?
24. Dez 2014, 11:10
Hallo,
die Art und Weise wie man eine Benutzerrechteverwaltung (mit Delphi) realisiert ist die technische Seite. Leider wird dabei - wie viel zu oft auch in anderen Bereichen ersichtlich - von den Entwicklern die Praxistauglichkeit nur unzureichend berücksichtigt.
Ich empfehle daher jedem Programmierer, das was er kocht auch selber zu essen. Sprich, die Benutzerrechteverwaltung auch auf seinem Entwickler-PC zu aktivieren. Spätestens wenn der Programmierer sich in zweistelliger Anzahl von Login's an seiner eigenen Software angemeldet hat, müsste das nachfolgend angesprochene Potential zur Optimierung bzw. Verbesserung ersichtlich werden.
In meiner Benutzerverwaltung gibt es die Option (d.h. es ist Sache des Admin's das pro Benutzer zu aktivieren), einen Benutzer mit einem PC zu verknüpfen. Zusätzlich besteht bei dieser Option die Möglichkeit der automatischen Anmeldung. D.h. der Admin kann beispielsweise festlegen, wenn "Lieschen Müller" am PC "PC-Mueller" angemeldet ist, dann bekommt sie auch beim Start der SW automatisch die ihr zugewiesenen Rechte. Dieses Scenario ist besonders bei Arbeitsplätzen die nur von einer einzigen Person genutzt werden sehr weit verbreitet. In diesem Fall kann also der klassische Anmelde-Dialog entfallen, was in Folge mehrere positive Aspekte hat:
- Benutzerfreundlichkeit: der aus Sicht des Anwenders "unsinnige" Anmeldedialog entfällt.
- Der psychologische Effekt, dass der Benutzer gar nicht das Gefühl hat, seine Rechte sind eingeschränkt.
- Akzeptanz: Benutzer empfinden die Benutzerverwaltung nicht als Gängelung oder Bevormundung.
Zum sicherheitstechnischen Aspekt: Wenn der betreffende Benutzer in der Software eingeschränkte Benutzerrechte hat, spielt die automatische Anmeldung in der Praxis auch keinerlei sicherheitsrelevante Rolle. Mein Anmelde-Dialog ist dann zusätzlich in der Software integriert, d.h. erst wenn ein Admin administrative Arbeiten erledigen muss, meldet er sich beim Aufruf der "gesperrten" Funktion in der Software an. In dieser Situation kann dann in der Benutzerrechteverwaltung definiert werden, ob der Admin angemeldet bleibt, oder nach Aufruf der entsprechenden Funktion automatisch wieder abgemeldet werden soll.
Mein Resümee aus jahrelanger praktischer Anwendung und Programmierung von Benutzerverwaltung ist daher: Die beste Benutzerverwaltung ist diejenige, die man nicht sieht. Infolge davon wird die Benutzerverwaltung sowohl von Anwendern als auch von Kunden/Administratoren nicht als notwendiges Übel, sondern vielmehr als praktikable Lösung einer sicherheitstechnischen Anforderung angesehen.
Zur Speicherung: Ich persönlich bevorzuge die Speicherung einer Rechte-Struktur als Record in einem Binary-Blob-Field. Benutzername, PC-Name (siehe oben) und weitere Informationen in entsprechenden indizierten Feldern zur schnellen Lokalisierung bei der Anmeldung.
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
|