Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Passwort des angemeldeten Benutzers ermitteln (https://www.delphipraxis.net/61940-passwort-des-angemeldeten-benutzers-ermitteln.html)

dataspider 28. Jan 2006 13:37


Passwort des angemeldeten Benutzers ermitteln
 
Hi,

ich würde gern die Anmeldung an die Firebird - Datenbank komfortabler gestalten.
So soll es möglich sein, sich ohne Login - Dialog an der Anwendung anzumelden, wenn Benutzername und Passwort der Datenbank mit dem von Windows übereinstimmen.
Dazu brauche ich den Benutzer und das Passwort von Windows.
Benutzername bekommt man mit GetUserName. Aber woher bekomme ich das Passwort?

Gruß, Frank

SirThornberry 28. Jan 2006 13:38

Re: Passwort des angemeldeten Benutzers ermitteln
 
Das bekommst du gar nicht außer der Nutzer gibt es ein (wäre ja schlimm wenn das anders wäre!)

Sir Rufo 28. Jan 2006 13:42

Re: Passwort des angemeldeten Benutzers ermitteln
 
Wie, gibt es da keine API? :mrgreen:

Ja, wie geil wäre das denn ...

dataspider 28. Jan 2006 13:46

Re: Passwort des angemeldeten Benutzers ermitteln
 
Zitat:

Das bekommst du gar nicht außer der Nutzer gibt es ein (wäre ja schlimm wenn das anders wäre!)
Wie machen es dann andere Anwendungen wie Lotus Notes?
Da wird man auch automatisch angemeldet, wenn die Anmeldeinformationen von Windows und Lotus Notes identisch sind.

Gruß, Frank

SirThornberry 28. Jan 2006 13:53

Re: Passwort des angemeldeten Benutzers ermitteln
 
da wird ganz bestimmt nicht das Passwort von Windows abgefragt und dann verglichen sondern dort wird sicher einfach bei Windows angefragt ob das eingegebene Passwort korrekt ist (man kann ja einfach versuchen sich er api einzuloggen und dann prüfen ob der Vorgang erfolgreich war).

Es ist also ähnlich wie in den Filmen wo dem Türsteher ein Codewort gesagt wird und er läßt einen rein wenn es stimmt. Aber in den Filmen ist es eben immer so das einfach das Codewort gesagt wird und er macht auf wenn es richtig ist oder lässt die Tür zu wenn es falsch ist. Aber es ist niemals so das der Türsteher das Codewort dem Gast preis gibt und der Gast dann sagt ob er dieses Codewort wusste oder nicht.

dataspider 28. Jan 2006 13:58

Re: Passwort des angemeldeten Benutzers ermitteln
 
Zitat:

man kann ja einfach versuchen sich er api einzuloggen und dann prüfen ob der Vorgang erfolgreich war
Danke, da werd ich mich mal auf die Suche begeben...

Cu, Frank

mkinzler 28. Jan 2006 14:18

Re: Passwort des angemeldeten Benutzers ermitteln
 
Viele Programme verwenden eigene GINA'A bzw. Schieben einen Handler in die Queue.

Luckie 28. Jan 2006 14:54

Re: Passwort des angemeldeten Benutzers ermitteln
 
Mittels [df]SSPI[/df] kannst du gucken, ob die Logindaten korrekt sind.

Sir Rufo 28. Jan 2006 19:16

Re: Passwort des angemeldeten Benutzers ermitteln
 
Ok, jetzt mal Spass beiseite.

Die Anmeldung an der Datenbank selber soll ja nicht erfolgen (das geht mit MS-SQL-Server, da kann die DB selber das)
Um sich an der Anwendung anzumelden kann man ja die SID zum User in der Datenbank abspeichern.
Ist der User dann mit dieser SID angemeldet (das geht nur, wenn die Anmeldung erfolgreich war), dann kann man auch bedenkenlos die Anwendung starten. Somit wäre dann für diesen Benutzer die Anmeldung per Name und Password hinfällig. Ist die SID unbekannt, dann muss sich eben angemeldet werden.

Um die SID eines Benutzers herauszubekommen hat Luckie auf seiner Website ein paar nette Units.

BTW: Ich würde immer die SID abfragen, denn die ist eindeutig (Identität). Der Benutzername ist nicht wirklich eindeutig.

Somit kann man die ganze Identitätsverwaltung der Windows-Anmeldung überlassen (man kann ja sogar noch ein paar Benutzergruppen definieren und in der Anwendung damit die Zugriffsrechte festlegen). Ausserdem braucht man dann nur an einer Stelle verwalten (bei ADS ist dass dann sehr schick).

cu

dataspider 29. Jan 2006 11:22

Re: Passwort des angemeldeten Benutzers ermitteln
 
@ mkinzler, Lucky, Sir Rufo

Danke dafür, dass man sich - trotz meiner zugegebenermassen etwas ... na ja ... Frage doch noch sehr intensiv meines Problemes angenommen hat.

Auf der Seite von Lucky verbirgt sich ja tatsächlich ein kleiner Schatz.
Ich denke, dass ich den Weg mit der SSPLogonUser function beschreiten werde. Auch den Hinweis mit der SID werde ich beachten.

Danke und Cu, Frank

SirThornberry 29. Jan 2006 13:16

Re: Passwort des angemeldeten Benutzers ermitteln
 
was spricht eigentlich gegen die Verwendung von LogonUser?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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 by Thomas Breitkreuz