Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Verständnisschwierigkeiten Benutzerlogin

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Verständnisschwierigkeiten Benutzerlogin

    Hallo zusammen,

    für ein Webprojekt erstelle ich grad ein Benutzerlogin für den Zugriff auf die Datenbank. Ich habe eine DBConnector-Klasse erstellt, in der die nötigen Daten gespeichert werden sollen aber ich leide momentan noch unter folgendem Verständnisproblem:

    Mittels eines Formulares möchte ich überprüfen, ob zu den eingegeben Daten (Name und PW) ein Eintrag in der Datenbank existiert. Dazu brauche ich aber doch schon einen Zugang zur Datenbank, da ich ja die Tabelle auswerten muss. Wie stellt man das an? Erzeugt man sich da einen eigenen Login, der nur den Login überprüft oder mit welchen Zugangsdaten führt man diese Überprüfung durch?

    Hoffe, ich konnte mein Problem verständlich erläutern.

    Gruß,
    spiff

  • #2
    Kommt darauf an, was Du erreichen willst. Sollen sich die Benutzer über einen Datenbank-Account identifizieren? oder hast Du in der Datenbank eine (eigene) Tabelle mit den Zugangsdaten, die mit den eingegebenen Daten des Benutzers verglichen werden sollen?
    Meistens ist es letzteres und dann legst Du einfach einen Datenbank-Account an und speicherst die Login-Werte dafür irgendwo, so dass das PHP Skript darauf zugreifen kann.

    Kommentar


    • #3
      Der Zugangsdaten zur Datenbank haben rein gar nichts mit den Zugangsdaten des Benutzers zutun! Die Daten für die Datenbank speicherst du irgendwo in deinem Skript ab. Diese Daten darf kein User wissen. Und dann erstellst du mit diesen Daten die Verbindung zu Datenbank und liest aus der user Tabelle eben den User und dessen Passwort aus.

      Kommentar


      • #4
        Aha, also wenn ich das recht verstehe verpacke und verstecke ich die Zugangsdaten für die Datenbankabfrage für den User unzugänglich, lese diese ein und schaue, ob der User in der Tabelle existiert.
        Dann müsste es doch möglich sein aus der Tabelle bestimmte Werte auszulesen und einen anderen DatenbankConnector auszuwählen, um unterschiedliche Sichten zu implementieren?

        in der Reihenfolge etwa so, ist das in Ordnung?

        Usereingabe senden
        Objekt DBConnector erzeugen
        Daten für DB-Zugang einlesen
        User prüfen
        Falls User existiert, neuen DBConnector erzeugen der auf Sicht spezialisiert ist
        alten DBConnector schließen

        Kommentar


        • #5
          Wenn Du das so machen willst, ja, das geht.

          Kommentar


          • #6
            Okay, vielen Dank für die prompte Hilfe, dann kann ich den Thread schließen!

            Kommentar


            • #7
              Nein nein nein ich glaub du verstehst das bissl falsch.

              Die Zugangsdaten zur Datenbank bleiben auch nach dem Login die gleichen, die haben einfach gar nix mit der Datenbank zutun! Du hast nur einen DB Connector und der hat immer vorgegebene Zugangsdaten. Du wirst ja für deine Datenbank nur einmal einen Datenbankbenutzer einrichten, du hast ja nich für jeden User deiner Webseite einen Datenbankbenutzer ... du verwechselst glaube ich da was.

              Eigentlich hat der DB Connector eben die Zugangsdaten aus einer config Datei, die behält er immer bei. Und beim Login wird ansich nur geprüft ob in einer Tabelle der Username mit dem eingegebenen User Passwort übereinstimmt und wenn ja -> Login. Aber auch nach dem Login bleiben die Datenbankzugangsdaten die selben.

              Kommentar


              • #8
                Naja, es ist schon möglich einen MySQL-Account einzurichten, der Zugriff auf die Benutzertabelle hat, und einen weiteren oder mehrere, die nur Zugriff (vielleicht sogar nur Lesezugriff) auf die für eine Ansicht notwendigen Tabellen haben. Allerdings ist das Erstellen einer Datenbankverbindung (auch auf dem selben Rechner) nicht "kostenlos". Aber wie gesagt: Möglich ist es

                Kommentar


                • #9
                  Jaja sicher ist das möglich. Mag auch für so Sachen wie phpMyAdmin praktisch sein wenn man mehrer Benutzer auf mehreren Datenbanken laufen lassen möchte.

                  Aber ich gehe sehr stark davon aus das spacemanspiff halt einen normalen Login für einen internen Bereich auf einer Webseite programmieren will. Und dann ist er auf nem ganz falschen Dampfer.

                  Kommentar

                  Lädt...
                  X