Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: TDatabase-Anmeldemaske(loginfenster) leer!

  Alt 5. Dez 2008, 11:42
Die Delphi 5-Hilfe meint:
Zitat:
Die meisten Remote-Datenbankserver verfügen über Sicherheitsvorkehrungen, um unberechtigte Zugriffe auszuschließen. Normalerweise fordert der Server zur Eingabe eines Benutzernamens und eines Kennworts auf, bevor er den Zugriff auf die Datenbank erlaubt.
Während des Entwurfs wird bei einem Server, der ein Login erfordert, ein Standarddialogfeld angezeigt, in dem Sie beim ersten Verbindungsversuch mit der Datenbank zur Eingabe eines Benutzernamens und eines Kennworts aufgefordert werden.

Zur Laufzeit können Sie die Login-Anforderung eines Servers auf drei Arten behandeln:

Setzen Sie die Eigenschaft LoginPrompt der Datenbankkomponente auf True (Standardeinstellung). Ihre Anwendung zeigt dann das Login-Standarddialogfeld an, wenn der Server einen Benutzernamen und ein Kennwort anfordert.
Setzen Sie die Eigenschaft LoginPrompt aufFalse, und fügen Sie der Eigenschaft Params der Datenbankkomponente die Parameter USER NAME und PASSWORD mit den entsprechenden Werten hinzu. Ein Beispiel:

USER NAME=SYSDBA

PASSWORD=masterkey

Wichtig: Beachten Sie, daß der Wert der Eigenschaft Params sehr einfach angezeigt werden kann. Soll die Server-Sicherheit gewährleistet sein, ist diese Vorgehensweise daher nicht zu empfehlen.

Schreiben Sie eine Behandlungsroutine für das Ereignis OnLogin der Datenbankkomponente, und setzen Sie hier die Login-Parameter zur Laufzeit. OnLogin erhält eine Kopie der Eigenschaft Params der Datenbankkomponente, die Sie beliebig ändern können. Der Name der Kopie in OnLogin ist LoginParams. Folgendermaßen können Sie die Login-Parameter mit der Eigenschaft Values setzen oder ändern:

LoginParams.Values['USER NAME'] := UserName;

LoginParams.Values['PASSWORD'] := PasswordSearch(UserName);

Beim Beenden gibt OnLogin seine LoginParams-Werte an Params zurück, wo sie dann zum Einrichten der Verbindung verwendet werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat