Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Benutzerauthentifizierung über Active Directory [ADSI?] (https://www.delphipraxis.net/77648-benutzerauthentifizierung-ueber-active-directory-%5Badsi-%5D.html)

rayj 22. Sep 2006 13:46

Datenbank: SQL 2000 • Zugriff über: ODBC

Benutzerauthentifizierung über Active Directory [ADSI?]
 
Hallo DP Community

Weiss einer wie ich mit Delphi eine Benutzerauthentifizierung realisieren könnte, die auf das Active Directory zugreift?

Ich kann ja mit dem Ms SQL Server 2000 mit einem linked Server über ADIS den Namen, Email und andere Daten auslesen, das Passwort (verständlicherweise) aber nicht.

Ist das überhaupt möglich, wenn ja, wie?

MfG

generic 22. Sep 2006 14:33

Re: Benutzerauthentifizierung über Active Directory [ADSI?]
 
du kannst eine benutzerauthentifizierung mit dem sspi machen.

aber normal meldet sich der user an windows an.
daher ist es schon authentifiziert.
wenn er ein programm startet welches lokal läuft, läuft das mit den rechten des users.
du kannst dann per prozesstoken das sicherheitsticket auslesen.

die sspi geschichte ist mehr fuer sachen wie:
du hast einen dienst und dort greift ein programm per tcp/ip zu. beide rechner sind in einer domäne - der client kann dann sein sicherheitsticket (token) an den server weitergeben.


alternativ kann man das ad auch per ldap usw. abfragen. suchworte: adsi

rayj 22. Sep 2006 14:43

Re: Benutzerauthentifizierung über Active Directory [ADSI?]
 
Hi generic,

Also es geht um folgendes:

Unsere Programme hier sollen meistens für 3 Benutzer ausgerichtet sein:
-Anwender, mit normalen Rechten. Sie können einfach aus Datenbanken lesen usw.
-Admins, die eben etwas mehr in den Programmen können.
-Für uns IT Leute, um auch Einstellungen des Programms und mehr ändern können

Bei jedem Programm sind es andere Admins, bei einem die Buchhaltung, beim anderen der Verkauf usw.

Bis jetzt haben wir einfach mit Parametern gearbeitet (-a für admins, -a passwort für IT).
Ab und zu vergessen die Admins dann den Parameter wieder zu entfernen, und die normalen User haben volle Rechte.
Zudem muss jedesmal das Programm geschlossen werden, eine Verknüpfung erstellen um den Parameter einzugeben und das Programm wieder starten.

Viel besser wäre es, wenn man im Programm selber den Benutzer ändern könnte.

Z.B. "Datei - Benutzer ändern"
Ein Fenster kommt mit User und Passwort abfrage, dann soll es die eingegebenen Daten eben im Active Directory abfragen.

Da man das Passwort (userPassword) mit ADSI eben nicht rauskriegt, frag ich mich wie man das realisieren kann :gruebel:

MfG

renekr 6. Nov 2006 19:12

Re: Benutzerauthentifizierung über Active Directory [ADSI?]
 
Hi,
wollte mal fragen ob du schon eine Lösung hast?
Ich bin auch soeben auf der suche nacheiner Gegen Auth. zum AD!

Danke.

rayj 9. Nov 2006 07:47

Re: Benutzerauthentifizierung über Active Directory [ADSI?]
 
Zitat:

Zitat von renekr
Hi,
wollte mal fragen ob du schon eine Lösung hast?
Ich bin auch soeben auf der suche nacheiner Gegen Auth. zum AD!

Danke.

Hi,
Über ADSI oder ähnliches hab ich keine Möglichkeit gefunden.
Allerdings konnte ich den Login mit einer anderen Funktion realisieren:

Delphi-Quellcode:
var
   h: DWORD;
begin
   LogonUser(PChar(Edit1.Text), 'MM', PChar(Edit2.Text), LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, h);
if h <> 0 then begin
   //Login Ok
end else begin
   //Login fehlgeschlagen
end;
Weiss nicht ob es dir was bringt?
Grüsse RayJ

renekr 9. Nov 2006 17:26

Re: Benutzerauthentifizierung über Active Directory [ADSI?]
 
Hi,
danke.
Ich habe es mittlerweile so gelöst:

SSPI Authent.

mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 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