Wie Verwenden von Windows Active Directory-Authentifizierung und identitätsbasierten Ansprüchen?
Problem
Wollen wir die Verwendung von Windows Active Directory zu authentifizieren eines Benutzers in der Anwendung. Jedoch, wir wollen nicht für die Verwendung von Active Directory-Gruppen verwalten Genehmigung von Controllern/views.
Soweit ich weiß, gibt es nicht eine einfache Möglichkeit, zu heiraten, AD und identity based Ansprüche.
Ziele
- Authentifizierung der Benutzer mit lokalen Active Directory -
- Identity framework zum verwalten von Forderungen
Versuche (Fehl)
- Windows.Owin.Sicherheit.ActiveDirectory - Doh. Dies ist für Azure AD. Keine LDAP-Unterstützung. Könnten Sie nannten es AzureActiveDirectory statt?
- Windows-Authentifizierung - Das ist okay, mit der NTLM-oder Keberos-Authentifizierung. Die Probleme beginnen mit: i) Token und Forderungen sind alle geschafft, sich durch AD-und ich kann nicht herausfinden, wie zu bedienen Identität behauptet.
- LDAP - diese Aber scheint zu sein, zwingt mich manuell zu tun forms-Authentifizierung um die Identität behauptet? Sicher muss es einen einfacheren Weg?
Jede Hilfe wäre mehr als willkommen. Habe ich fest auf dieses problem eine Recht lange Zeit und ich würde schätzen Beiträgen von außen auf die Materie.
InformationsquelleAutor der Frage hlyates | 2015-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schuh Ihre Lösung oben schob mich in eine Richtung, die für mich gearbeitet auf MVC6-Beta3 Identityframework7-Beta3 EntityFramework7-Beta3:
InformationsquelleAutor der Antwort Will
Einfach auf AD mit Benutzername und Passwort, statt der Authentifizierung gegen Ihre DB
InformationsquelleAutor der Antwort Shoe
Auf ASPNET5 (beta6), die Idee ist CookieAuthentication und Identität : Sie müssen fügen Sie in Ihre Startup-Klasse :
Im Abschnitt " konfigurieren, hinzufügen:
Dann werden Sie brauchen, um zu implementieren:
und erweitern/überschreiben:
Eigentlich habe ich setup ein Beispielprojekt um zu zeigen, wie dies getan werden kann.
GitHub-Link.
Getestet habe ich auf der beta8 und und mit einigen kleinen adaptatons (wie Context => HttpContext) es funktionierte auch.
InformationsquelleAutor der Antwort jesblit
Könnten Sie ClaimTransformation, ich habe es arbeiten an diesem Nachmittag mit dem Artikel und code. Ich bin den Zugriff auf eine Anwendung mit Fenster-Authentifizierung und hinzufügen von Forderungen auf der Grundlage von Berechtigungen in einer SQL Datenbank gespeichert. Dies ist eine gute Artikel, die Ihnen helfen sollten.
https://github.com/aspnet/Security/issues/863
Im überblick ...
InformationsquelleAutor der Antwort K7Buoy
Wissen Sie, wie Sie bei der Implementierung einer benutzerdefinierten
System.Web.Security.MembershipProvider
? Sie sollten in der Lage sein, diese zu verwenden, (überschreibenValidateUser
) in Verbindung mitSystem.DirectoryServices.AccountManagement.PrincipalContext.ValidateCredentials()
zur Authentifizierung gegen active directory.versuchen:
var pc = new PrincipalContext(ContextType.Domain, "example.com", "DC=example,DC=com");
pc.ValidateCredentials(username, password);
InformationsquelleAutor der Antwort rybl