![]() |
Integration Active Directory + Benutzerverwaltung
Bitte helft mir beim Denken :- )
Mein Programm hat eine Benutzerverwaltung samt Gruppen und Rollen. Der Wunsch ist jetzt, das "ans Active Directory" anzubinden. Aber wie würde ich das denn am besten machen? An Stelle einer Login-Box würde ich wohl beim AD nach dem angemeldeten Benutzer(namen) fragen. Wollte ich wissen, ob der USer sich am Programm anmelden darf, müsste ich aus dem AD das PAsswort auselesen - das wird wohl nicht gehen. Also muss es im AD eine Gruppe/OU(?) geben, die den Zugriff erlaubt. Wie bringe ich diese OU ins AD? Oder denke ich da verkehrt? |
AW: Integration Active Directory + Benutzerverwaltung
Ich habe das schon länger nicht mehr gemacht, aber ich meine im Endeffekt muss man gar nicht fragen, der Nutzer ist ja schon in Windows angemeldet. Warum sollte er sich nochmal einloggen.
|
AW: Integration Active Directory + Benutzerverwaltung
Zitat:
die OU/Gruppe bringt hoffentlich euer Admin ins AD und nicht du mit deinem Programm.:-D Stell' dir vor jede Software würde nach Belieben OUs, Benutzer, Gruppen, etc. im AD erstellen... Ich denke du brauchst einfach eine Gruppe im AD, in der alle Benutzer eingetragen sind, die das Programm benutzen dürfen. Das fragt du ab - fertisch... Stichworte könnten ADSI sein, oder mal hier schauen: ![]() Grüße Steku |
AW: Integration Active Directory + Benutzerverwaltung
Die ADSI Sache kann man verwenden. Nutze ich z.B. um Daten vom AD mit einer Datenbank abzugleichen.
Um Mitgliedschaften vom angemeldeten Benutzer zu bekommen, frage ich den Prozess-Token ab. Ich nutz dazu OpenProcessToken(GetCurrentProcess(), TOKEN_READ, TokenHandle) und GetTokenInformation(TokenHandle, TokenGroups,..) Ich kann dir leider kein "fertigen" Code geben, da die Quelltexte einen Kunden gehören. Wenn du Webservices nutzt, kannst du auch mit NTLM, Kerberos arbeiten und den Webservice mit einem impersonate in das Konto des Remote-Benutzers bringen. |
AW: Integration Active Directory + Benutzerverwaltung
Zitat:
Zitat:
ADSI kenne ich, danke trotzdem. Der Plan wäre also: - Beim Programmstart Windows Usernamen ermitteln - damit in einer AD Gruppe nachsehen, ob enthalten -- > darf Programm ausführen - damit in dieser AD Gruppe nach weiteren Einstellungen (Mandant etc) suchen |
AW: Integration Active Directory + Benutzerverwaltung
Hallo,
Zitat:
1. (einfacher) - du präsentierst dem User einen Login Dialog und prüfst seine Eingaben per ldaps:// (ldap:// - also unverschlüsselt wird wohl bald abgeschaltet) gegen das Active Directory und ggf. gegen Mitgliedschaft in irgendwelchen OUs oder Gruppen (darf Programm nutzen oder nicht oder mit Berechtigungen, etc.). Er kann sich dann mit seinem Login und Passwort in deiner Anwendung anmelden. Ändert er sein Windows-Passwort, muss er das neue Kennwort auch in deiner Anwendung nutzen. Deine Anwendung braucht für die ldaps:// Abfrage ebenfalls einen User im Active Directory. Ein ganz einfacher mit ein ein paar speziellen Berechtigungen reicht, nicht den Administrator nehmen. Quellen: siehe unten. Bitte ggf. auch die maximale Anzahl der Ergebnis-Objekte hochsetzen. Quelle: siehe ebenfalls unten. 2. Authentifizierung mittels NTLM oder Kerberos, Realisierung eines "echten" Single-Sign-Ons (SSO). Der User bekommt keine Login-Box zu sehen, deine Anwendung kommuniziert mit dem Server und der User ist "magisch" eingeloggt. Das wird auch gerne für Web-Anwendungen gemacht. 2a. NTLM - Erklärung - siehe hier: ![]() 2b. Kerberos - Erklärung - siehe hier: ![]() ![]() ![]() Ein "Mapping" des Benutzers/Benutzergruppe gegen Berechtigungen in deinem Programm brauchst du auf alle Fälle. Ich hoffe, ein paar Ansatzpunkte geliefert zu haben :-) Wenn du in Richtung Kerberos weiter gehst, wäre ein Gedankenaustausch hier oder in dem anderem Thread prima. Edit: Ich habe mir mal den Link oben (rathlev-home.de) angesehen, in dem es heißt Zitat:
Edit2: Zitat:
Grüße Sebastian Quellen: LDAP: ![]() ![]() ![]() Kerberos: ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 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