AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Benutzerverwaltung Client-Server Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Benutzerverwaltung Client-Server Datenbank

Ein Thema von elmar.faber · begonnen am 5. Apr 2016 · letzter Beitrag vom 6. Apr 2016
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Benutzerverwaltung Client-Server Datenbank

  Alt 5. Apr 2016, 12:59
Die "Zwischenschicht" kann auch in Deinem Programm implementiert werden. Die Benutzer müssen dann nicht als Datenbankbenutzer angelegt werden, sondern Dein Programm enscheidet anhand des Benutzers (des Programmes) was dieser darf.
Markus Kinzler
  Mit Zitat antworten Zitat
elmar.faber

Registriert seit: 10. Sep 2007
Ort: Neustadt (Hessen)
37 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#2

AW: Benutzerverwaltung Client-Server Datenbank

  Alt 5. Apr 2016, 14:09
Dann hätte ich aber keine saubere Trennung von Frontend und Backend mehr da ja prinzipiell
alle Daten ins Frontend gelangen und erst da gefiltert wird
Elmar Faber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Benutzerverwaltung Client-Server Datenbank

  Alt 5. Apr 2016, 14:50
Jein. Wenn die Rechte fehlen kannst Du ja verhindern, dass die Daten geladen werden.
Markus Kinzler
  Mit Zitat antworten Zitat
elmar.faber

Registriert seit: 10. Sep 2007
Ort: Neustadt (Hessen)
37 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#4

AW: Benutzerverwaltung Client-Server Datenbank

  Alt 5. Apr 2016, 16:04
Ja genau da liegt mein Verständnisproblem, ich baue eine Verbindung zur Datenbank auf und die Rechte
sind fest über einen Benutzer definiert, wie erreiche ich es, dass ein bestimmter Benutzer nur ganz
bestimmte Rechte bekommt? Ich müßte doch hierzu die Verbindung trennen und mit einem Benutzer mit anderen Rechten
wieder neu aufbauen. Wie steuere ich die Rechte für viele Anwender mit nur einem angelegten DB-Benutzer?
Und verhindere gleichzeitig, dass nie Daten das Backend verlassen, zu denen der Anwender keine Rechte besitzt?
Elmar Faber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Benutzerverwaltung Client-Server Datenbank

  Alt 5. Apr 2016, 16:10
Die Frage ist ja, ob man das über Datenbankbenutzer regeln muss, oder durch eine Benutzerverwaltung im Programm.
Markus Kinzler
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: Benutzerverwaltung Client-Server Datenbank

  Alt 5. Apr 2016, 19:46
wie erreiche ich es, dass ein bestimmter Benutzer nur ganz
bestimmte Rechte bekommt?
Das ginge nur, wenn Du dem Benutzer in der geöffneten Session diese Rechte erteilst, also so, wie ich es oben mit der Rolle vorgeschlagen habe.

Ich müßte doch hierzu die Verbindung trennen und mit einem Benutzer mit anderen Rechten
wieder neu aufbauen.
Nein, nicht unbedingt. Schau Dir mal die Möglichkeiten an, die die role grants bieten.

Wie steuere ich die Rechte für viele Anwender mit nur einem angelegten DB-Benutzer?
Über wechselnde Rollen oder gar nicht, soweit mir bekannt.

Und verhindere gleichzeitig, dass nie Daten das Backend verlassen, zu denen der Anwender keine Rechte besitzt?
Wenn Du es so machst, wie es üblich ist (Mehrschichtanwendung) nur durch Sorgfalt.
Alternativ baust Du wie vorgeschlagen eine eigene, anwendungsinterne Zwischenschicht, die anhand logisch zugewiesener Rollen für den jeweiligen User die Zugriffe auf die DB prüft und erlaubt oder verbietet.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Benutzerverwaltung Client-Server Datenbank

  Alt 5. Apr 2016, 23:17
Ich sehe die "one User fits all"-Lösung sehr kritisch.
Sobald die Möglichkeit besteht, daß jemand sich die Zugangsdaten des DB-Users besorgt, der dann auch noch Owner ist, dann kann man die Zugangsdaten auch gleich ans schwarze Brett pinnen.

Jeder User der Zugriff auf eine DB hat, sollte nicht mehr Rechte/Möglichkeiten haben als unbedingt nötig.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: Benutzerverwaltung Client-Server Datenbank

  Alt 6. Apr 2016, 05:45
Ich sehe die "one User fits all"-Lösung sehr kritisch.
..ans schwarze Brett pinnen.
..nicht mehr Rechte/Möglichkeiten haben als unbedingt nötig.
Ja, das ist letztlich wohl der wichtigste Punkt. In der klassischen Zwischenschicht dringt ja kein User soweit vor.

Ich habe auch selbst noch mal nach der set role Funktion geschaut, aber da findet man nichts bzw. nichts sinnvolles, was so etwas abbildet.
Es ist allerdings schon so, dass man unter einem SQL Server standardmäßig verschiedene DB liegen hat und ansprechen kann, wenn die Rechte passen. Also könntest Du mit dem Owner sicher auch das Recht bekommen, auf dieser DB und nur darauf User anzulegen und zu löschen, wahlweise als Domaine User oder SQL Variante.
Gruß, Jo
  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 15:49 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-2025 by Thomas Breitkreuz