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 Windows Anmeldedaten überprüfen (https://www.delphipraxis.net/77298-windows-anmeldedaten-ueberpruefen.html)

n0b0dy 17. Sep 2006 11:24


Windows Anmeldedaten überprüfen
 
Hi,

ich bin gerade dabei ein Webinterface zu basteln. Dort soll es möglich sein, dass man sich mit den ganz normalen Windows-Anmeldedaten anmelden kann, sodass auch nur Administratoren Vollzugriff auf alle Optionen haben.
D.h. wenn ich in meinem Programm Benutzername und Passwort eingebe, soll das Programm überprüfen, ob die Anmeldedaten korrekt sind. Geht das? Evtl. mit den LT, LM-Hashes?

Geht das überhaupt? Wenn ja, habt ihr ne Idee dazu?

bye

Zacherl 17. Sep 2006 11:37

Re: Windows Anmeldedaten überprüfen
 
Es geht! Irgendwo fliegt hier noch ein Code rum, mit dem das möglich ist. Hier im Forum suchenSSPI

Florian

n0b0dy 17. Sep 2006 12:10

Re: Windows Anmeldedaten überprüfen
 
dank dir! klappt super.
hab die unit von hier genommen.

Ein Problem bleibt: Hat das Passwort ein oder mehrere Leerzeichen, klappts irgendwie nicht mehr :(

[EDIT]
mir ist grad aufgefallen, dass das garnicht an dem Leerzeichen lag, sondern an einem oder mehreren Sonderzeichen. Bsp "§"

Kann man da was machen, dass das trotzdem geht?

n0b0dy 17. Sep 2006 19:33

Re: Windows Anmeldedaten überprüfen
 
okay ich habe das nun ausgiebig getestet und mir ist folgendes aufgefallen:
Im Grunde funzt alles problemlos, außer wenn ich den Usernamen des aktuell angemeldeten Benutzers eingebe, liefert die Funktion auch True zurück, falls das Passwort leer gelassen wird. Gibt man ein falsches Passwort ein, funzt es wieder, und die Funktion liefert False.

Kann man das so einrichten, dass das auch in diesem einen speziellen Fall funktioniert, sodass die Funktion auch false liefert, falls das Passwort leer gelassen wurde?

Ich könnte das natürlich jetzt so machen, dass generell leere Passwörter nicht erlaubt werden, aber das is nur eine Notlösung.
Weil es gibt ja - auch wenn es nicht so sein soll - Benutzer, die kein Passwort haben.

Grüße
n0b0dy

GuenterS 17. Sep 2006 20:48

Re: Windows Anmeldedaten überprüfen
 
Mich würde intressieren, was dich daran so sehr stört?

Wenn User A sich in Windows eingeloggt hat, hat er hierfür ja schon sein Passwort eingegeben und sich so schon quasi als User A authentifiziert. Nun denke ich wenn er von diesem Login aus das Webinterface aufruft und dort ebenfalls seinen Benutzernamen angibt, dann wird das doch immer noch User A sein, da ja nur dann, das mit dem leerem Passwort klappt, wenn mans vom gleichen Login macht (zumindest habe ich das so aus Deinem Posting verstanden).

Wenn User B sich in Windows einloggt und jetzt User A vorbeikommt um sich über User B's Login, in das Webinterface einzuwählen, muss er natürlich Benutzername als auch Passwort eingeben, es ist ja nicht sicher ob es jetzt wirklich User A ist und nicht User B, der sich als User A ausgeben will, ist.

Zumindest sollte man weder einen Server noch sonst eine Maschine, eingeloggt zurücklassen. So könnte dann eigentlich auch nix passieren, oder habe ich was übersehen?

n0b0dy 17. Sep 2006 20:58

Re: Windows Anmeldedaten überprüfen
 
ach mist, nee du hast nix übersehen, aber ich :oops:
Der Server wird später ja als Service laufen, was ein Server ja normalerweise so ansich hat^^
Und wenn ein Programm als Dienst läuft, läut es ja unter "System"-Rechten und nicht unter dem User, der gerade angemeldet ist, oder?
Und dann erübrigt sich das ganze ja sowieso, oder habe nun ich was übersehen? :?

[EDIT]
würde es nicht als Dienst laufen, wär das natürlich schlecht, weil dann müsste der User, der auf den Server zugreift ja nur herausbekommen, welcher Benutzer gerade angemeldet ist, und dann ein leeres Passwort eingeben!!

GuenterS 17. Sep 2006 22:17

Re: Windows Anmeldedaten überprüfen
 
Hm, Du kannst aber auch einen speziellen Benutzer für das Service angeben,
muss also nicht zwingend der SYSTEM Benutzer sein.

n0b0dy 17. Sep 2006 22:41

Re: Windows Anmeldedaten überprüfen
 
ja aber lieber system als irgendjemand anneres, weil sonst tritt wieder das problem auf wie unter #6[EDIT] beschrieben :?

alles bissle seltsam, aber wird schon^^


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