none
Eingabe Passwort für EntityFramework-Anwendung

    Frage

  • Hallo,

    wir erstellen gerade eine EntityFramework-Anwendung mit Anbindung an eine Oracle-Datenbank.

    Bei Erstellen des ADO.NET Entity Data Model kann man wählen, ob man die sensiblen Verbindungsinformationen in der App.config speichern will. Wenn man das nicht will kann ich die Information auch zur Laufzeit eingeben, z.B. über eine Passwort-Maske und folgenden Code-Behind:

            Db = New Entities
            Db.Database.Connection.ConnectionString = "DATA SOURCE=SERVER1;USER ID=PETERSX;PASSWORD=" & Me.Passwordeingabe.Password.ToString
            Db.Database.Connection.Open()

    Allerdings sind die Kennungen der Benutzer, die mit der Anwendung arbeiten werden, nicht die Kennungen untern denen die Tabellen, mit denen gearbeitet wird, angelegt sind. Mit dem obigen Connection-String kann ich aber nur ein Model aus den Klassen generieren, die unter dem angegebenen User PETERSX liegen. Wie muss man die Anwendung konfigurieren, damit auch Personen damit arbeiten können, die nicht der Owner der DB-Tabellen sind?
    Hilft dabei eventuell, dass es in der App.config neben dem connectionString mit name="Entities" noch einen mit name="OracleDbContext" gibt?

    Vielen Dank

    Peter

    Donnerstag, 15. Februar 2018 15:26

Alle Antworten

  • Hi Peter,
    warum arbeitet Ihr nicht mit integrierter Sicherheit: "Integrated Security=yes" im ConnectionString. Die berechtigten Mitarbeiter müssen dann nur in der Datenbank berechtigt werden.

    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks

    Donnerstag, 15. Februar 2018 15:42
  • Hallo Peter,

    vielen Dank für die schnelle Antwort. Benutzen die berechtigten Mitarbeiter dann Windows- oder Oracle-Kennungen, sprich ist die Sicherheit in Windows oder in Oracle integriert?

    Herzliche Grüße

    Peter

    Donnerstag, 15. Februar 2018 16:19
  • Hi Peter,
    "Integrated Security=yes" im Connection-String bedeutet, dass der Oracle-Server vom Client die Anmeldung bekommt, mit der sich der Client in der Domain angemeldet hat. Der Oracle-Server kann dann den Domain Controller fragen, ob die Anmeldung rechtens ist und dann mit der Nutzerkennung in den in der Datenbank eingestellten Berechtigungen vergleichen/prüfen.

    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks

    Donnerstag, 15. Februar 2018 16:36