Forum: Datenbanken
Delphi
by spaxxn,
26. Aug 2008
Nein, die ist für jedes Programm als ganzes einmalig.
In der Spalte Mask würde man Rechte für Formulare und Buttons vergeben. Du kannst auch Rechte für Datensätze in der Datenbank vergeben, wenn dir danach ist.
Forum: Datenbanken
Delphi
by spaxxn,
26. Aug 2008
Wenn du das kapiert hast, dann kannst du das Ganze noch erweitern.
Z.B. um die Punkte die DeddyH angesprochen hat.
Das was ich dir da aufgezeigt habe, ist die minimalste Variante in dieser Richtung.
@DeddyH: Dein Denkansatz ist erweitert :D nicht anders...
Forum: Datenbanken
Delphi
by spaxxn,
26. Aug 2008
Kannst du denn mit Datenbankabfragen umgehen?
ProgID := 1; //globale Variable, damit du von allen Forms aus darauf zugreifen kannst.
function getSecuLevel(AProgID,AUserID:integer;AMask:string):integer;
begin
if qry.active then
qry.close;
qry.sql.text := 'SELECT Right FROM USERRIGHTS WHERE ProgID=:ProgID AND UserID=:UserID AND Mask=:Mask';
qry.ParamByName('ProgID').AsInteger...
Forum: Datenbanken
Delphi
by spaxxn,
26. Aug 2008
Die Frage ist jetzt nicht ernst gemeint oder?
Du vergibst deinen Proggis halt ID's...
MyProg1 -> erhält die ID=1
MyProg2 -> erhält die ID=2
Die Prog-ID's werden im Quellcode festgelegt.
Forum: Datenbanken
Delphi
by spaxxn,
26. Aug 2008
Ein kleines Beispiel:
Wir haben folgende Tabelle(nur kurz gehalten):
UID UserID Mask ProgID Right
1 1 Buttons 1 1
2 2 Buttons 1 0
3 1 Forms 1 1
4 2 Forms 1 1
Forum: Datenbanken
Delphi
by spaxxn,
26. Aug 2008
Wenn du spezifisch mit Berechtigungen arbeiten möchtest, die du/ein Admin individuell verteilst/verteilt, wird dir nicht viel anderes übrig bleiben, als dir das auf deine Bedürfnisse hin selbst zu bauen.
Würde mit Rechtemasken und Programm-ID's arbeiten. In der Kombination, kannst du das dann auch in weiteren Anwendungen wiederverwenden.