Ergebnis 1 bis 5 von 5

Thema: ZUgriff per Webinterface, User für DB-Verbindung??

  1. #1
    PeeDee Gast

    Standard ZUgriff per Webinterface, User für DB-Verbindung??

    Hallo,
    ich habe auf meinem Server eine kleine "Datenbank" am laufen, auf die eine Hand voll Menschen zugreifen können.
    Bis dato war es so, daß nach der erfolgten Benutzerauthentifizierung über PHP eine Verbindung zur Datenbank erstellt wird.
    Dies geschieht grundsätzlich über EINEN in PostgreSQL angelegten User.

    Die Benutzer haben unterschiedliche Rechte, sie können schreiben/lesen oder nur lesen.

    Ist es sinnvoller, sicherer und auch professioneller für jeden (menschlichen) Benutzer das entsprechende Pendant unter PostgreSQL anzulegen, mit dem dann die Verbindung aufgebaut wird?
    Besteht dann irgendwie die Möglichkeit, dem jeweiligen User Rechte wie Datensätze lesen/schreiben, Tabellen anlegen/löschen ODER NUR Datensätze lesen zu vergeben??

    Hm....sowas gehört wohl eher zu den Grundlagen, aber wir sind ehemals in unserer Schule direkt von den Datenbank-Grundlagen zu praktischen Postgres-Abfragen gegangen /

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von PeeDee Beitrag anzeigen
    Hallo,

    Ist es sinnvoller, sicherer und auch professioneller für jeden (menschlichen) Benutzer das entsprechende Pendant unter PostgreSQL anzulegen, mit dem dann die Verbindung aufgebaut wird?
    Ja.

    Besteht dann irgendwie die Möglichkeit, dem jeweiligen User Rechte wie Datensätze lesen/schreiben, Tabellen anlegen/löschen ODER NUR Datensätze lesen zu vergeben??
    Ja, du kannst User und auch Usergruppen anlegen und denen jeweils spezifische Rechte geben. Du kannst auch z.B. in den Tabellen eine extra Spalte für Username führen und einen VIEW basieren auf current_user darauf machen, so daß je nach angemeldeten User man untersch. Zeilen der Tabelle sieht. (select ... from ... where <col_mit_usernamen> = current_user).

    Hm....sowas gehört wohl eher zu den Grundlagen, aber wir sind ehemals in unserer Schule direkt von den Datenbank-Grundlagen zu praktischen Postgres-Abfragen gegangen /
    Ja ;-)

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    PeeDee Gast

    Standard

    Naja, bis dato hatte ich eine EXTRA Tabelle angelegt, wo Benutzernamen, Passwort und Rechte hinterlegt sind.
    Diese prüfe ich bei der Benutzerauthentifizierung per PHP, merke mir die entsprechenden Rechte und gebe dann Ausgabe und bei Bedarf Formular aus.

    Hm...also dann müßte ich pro Tabelle zwei Spalten (eine für Lese-Recht und eine für Schreib-Recht) hinzufügen, wo dann die Usernamen auftauchen und dann dementsprechend einen "Filter" in der Abfrage integrieren....

    Hm....wohl ein bischen "aufwändiger" das umzustrukturieren.....aber ich werds dann mal für ein "Redesig" vorsehen )
    Danke schonmal für die Hilfe

  4. #4
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von PeeDee Beitrag anzeigen
    Naja, bis dato hatte ich eine EXTRA Tabelle angelegt, wo Benutzernamen, Passwort und Rechte hinterlegt sind.
    Diese prüfe ich bei der Benutzerauthentifizierung per PHP, merke mir die entsprechenden Rechte und gebe dann Ausgabe und bei Bedarf Formular aus.

    Hm...also dann müßte ich pro Tabelle zwei Spalten (eine für Lese-Recht und eine für Schreib-Recht) hinzufügen, wo dann die Usernamen auftauchen und dann dementsprechend einen "Filter" in der Abfrage integrieren....

    Naja, das war ein Beispiel, daß man z.B. current_user in der DB verwenden kann. Du hast weit mehr Möglichkeiten mit GRANT und REVOKE, schau Dir einfach mal die Doku dazu an.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  5. #5
    PeeDee Gast

    Standard

    Hm, also wenn ich jetzt für jeden Anwender, der über das Webinterface auf die DB zugreift einen eigenen DB-Benutzer anlege, über den dann die Verbindung aufgebaut wird........
    Bei meinem jetzigen System, wo die Verbindung über ein und denselben PostgreSQL-Useraccount aufgebaut wurde, habe ich bei erfolgter erfolgreicher Anmeldung ein Cookie abgelegt, damit beim nächsten Mal nicht wieder die Anmeldung erfolgt.
    Das wollte ich eigentlich ganz gerne beibehalten, ABER....in dem Cookie müßten dann ja Name und Passwort für den erneuten Verbindungsaufbau abgelegt worden sein.
    Ein bischen unsicher oder?
    Kann man das vielleicht anderes realisieren, sodaß der Anwender sich nicht bei jedem Betreten neu anmelden muss??

Ähnliche Themen

  1. Mehrere User
    Von Vierm im Forum Benutzer- & Rechteverwaltung
    Antworten: 4
    Letzter Beitrag: 21.07.2008, 23:22
  2. Linux User = postgres-User und Serverstart?
    Von buecherschrank im Forum Benutzer- & Rechteverwaltung
    Antworten: 2
    Letzter Beitrag: 20.10.2007, 11:02
  3. Verbindung über PHP PDO
    Von THILL im Forum Programmierung
    Antworten: 3
    Letzter Beitrag: 02.10.2007, 23:19
  4. user postgres could not be created:the user account already exist
    Von praios im Forum Installation von PostgreSQL
    Antworten: 1
    Letzter Beitrag: 31.01.2007, 07:48
  5. pgpool-II + Webinterface
    Von pingufreak83 im Forum Allgemeines
    Antworten: 1
    Letzter Beitrag: 27.10.2006, 19:47

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum