AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Berechtigungen mit DB-Mitteln umsetzen?
Thema durchsuchen
Ansicht
Themen-Optionen

Berechtigungen mit DB-Mitteln umsetzen?

Ein Thema von khh · begonnen am 5. Nov 2008 · letzter Beitrag vom 5. Nov 2008
Antwort Antwort
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

Berechtigungen mit DB-Mitteln umsetzen?

  Alt 5. Nov 2008, 11:44
Datenbank: mysql • Version: 5 • Zugriff über: ZEOS
Hallo zusammen,
folgende Aufgabenstellung:
es gibt eine Tabelle (Programm-)Module, darin stehen Programmnamen und ein Wert im Feld aktiv ( true oder false).
(Damit wird festgelegt ob das modul global aktiviert ist oder nicht.)
Es gibt eine Tabelle User, darin stehen Benutzer.
Als Verbindung gibt es die tabelle modulnutzer, in der steht für jeden Nutzer und jedes programm ein Ds mit nutzerid, modulid und true oder false im feld "erlaubt".
(damit sollen einzelnen Nutzern explizit Programme erlaubt oder verboten werden.)
(Diese Tabelle wird beim Start der Programme abgefragt)

Ist es mit Datenbankmitteln oder DB-Komponenten möglich bei der Anlage und Änderung von Nutzern diese Werte einzutragen abzufragen bzw. zu ändern.

Die Abfrage von bestehenden Werten mittels query stellt ja kein Problem dar,aber für die Neuanlage bzw.Änderung steh ich da grad aufm Schlauch.
Geht das überhaupt mit DB- bzw. DB-Komponenten, oder muss ich das von Hand erledigen.

Am Besten wärs näturlich per checkbox.

jemand ne Idee?


Danke Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Berechtigungen mit DB-Mitteln umsetzen?

  Alt 5. Nov 2008, 12:01
huhu!

ich weiß nicht ob ichs richtig verstehe... aber scheinbar brauchst du einfach nur das schlüsselwörtchen "insert" anstelle des "selects"

INSERT INTO modulnutzer (nutzerid,modulid,erlaubt) VALUES (5,6,false) und um was zu ändern:

UPDATE modulnutzer SET erlaubt = true WHERE nutzerid = 5 AND modulid = 6
ich hoffe das is das was du gesucht hast..

gruß
reli
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#3

Re: Berechtigungen mit DB-Mitteln umsetzen?

  Alt 5. Nov 2008, 12:04
In der Regel stellt jedes größere DBMS (virtuelle) Tabellen oder aber Stored Procedures / Server Functions zur Verfügung, mit denen Du die Benutzer der DB managen kannst.

Ich weiss nicht, ob man Trigger auf diese virtuellen Tabellen erstellen kann, die genau dann feuern, wenn ein neuer User in eine solche Tabelle eingefügt wird. Aber prinzipiell wäre es eine Idee, den Ansatz darüber mal weiter zu verfolgen.

Edit nachtrag: Ach, Du benutzt ja MySQL. Da sind das sogar echte Tabellen. Versuche einfach mal, auf die user-tabelle einen insert-Trigger zu legen, der deine Berechtigungen anpasst.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Berechtigungen mit DB-Mitteln umsetzen?

  Alt 5. Nov 2008, 12:16
Zitat von Relicted:
huhu!

ich weiß nicht ob ichs richtig verstehe... aber scheinbar brauchst du einfach nur das schlüsselwörtchen "insert" anstelle des "selects"

INSERT INTO modulnutzer (nutzerid,modulid,erlaubt) VALUES (5,6,false) und um was zu ändern:

UPDATE modulnutzer SET erlaubt = true WHERE nutzerid = 5 AND modulid = 6
ich hoffe das is das was du gesucht hast..

gruß
reli
naja das ist dann die methode von hand

Danke dir
Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Berechtigungen mit DB-Mitteln umsetzen?

  Alt 5. Nov 2008, 12:19
Zitat von Phoenix:
In der Regel stellt jedes größere DBMS (virtuelle) Tabellen oder aber Stored Procedures / Server Functions zur Verfügung, mit denen Du die Benutzer der DB managen kannst.

Ich weiss nicht, ob man Trigger auf diese virtuellen Tabellen erstellen kann, die genau dann feuern, wenn ein neuer User in eine solche Tabelle eingefügt wird. Aber prinzipiell wäre es eine Idee, den Ansatz darüber mal weiter zu verfolgen.

Edit nachtrag: Ach, Du benutzt ja MySQL. Da sind das sogar echte Tabellen. Versuche einfach mal, auf die user-tabelle einen insert-Trigger zu legen, der deine Berechtigungen anpasst.
ich danke dir,werd auch diese Idee mal durchdenken.


Gruss Kh
Karl-Heinz
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz