AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Best practice: Benutzerverwaltung mit Datenbankanbindung
Thema durchsuchen
Ansicht
Themen-Optionen

Best practice: Benutzerverwaltung mit Datenbankanbindung

Ein Thema von Morphie · begonnen am 30. Apr 2013 · letzter Beitrag vom 30. Apr 2013
 
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Best practice: Benutzerverwaltung mit Datenbankanbindung

  Alt 30. Apr 2013, 13:24
Also es gibt User, Groups und Permissions (Rechte).
Die Permissions kann man den Usern aber auch den Gruppen zuteilen.
Es besteht als einen N:M Beziehung zwischen User und Permissions als auch zwischen Groups und Permissions.

Wenn ein User sich anmeldet, dann sammelt man alle seine Permissions in einer Liste.
Der User kann Mitglied in mehreren Gruppen sein.
Also erhält der User weitere Permissions aus diesen Gruppen.

Eine Permission könnte z.B. sein:
Code:
Permission_Edit_Global_Config (Benutzer darf globale Konfiguration ändern)
Dann gibt es lokal in jedem Formular / Datenmodul eine Zuordnung von Permissions zu bestimmten Properties von Komponenten.
Das könnte z.B. so aussehen:
Delphi-Quellcode:
PanelConfig.Enabled := SecurityManager.HasPermission('Permission_Edit_Global_Config');
QueryPreise.ReadOnly := not SecurityManager.HasPermission('Permission_Change_Prices');
MenuItemDebug.Visible := SecurityManager.HasPermission('Permission_Debug');
Es gibt hauptsächlich 3 Properties, die von Interesse sind: Enabled, Visible und ReadOnly.
Mit Hilfe von RTTI kann man die Zuordnung zwischen Komponenten-Properties und Permissions zur Laufzeit herstellen.

Du kannst es dir aber auch einfach machen und die TMS Security System Komponenten (früher: Uil Security) kaufen.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz