ASP.NET Core-2.0-LDAP-Active Directory-Authentifizierung
Ich fand eine Menge von Informationen aus der Vergangenheit sagen, dass Die LDAP-Authentifizierung ist noch nicht aktiviert, aber Sie können umgehen, die die Verwendung von Drittanbieter-Pakete.
Es scheint jedoch, dass die LDAP-Authentifizierung WURDE umgesetzt, wieder im Januar. Ich kann nicht scheinen, finden alle Informationen auf, WIE es zu implementieren.
Ich habe bereits benutzerdefinierte Authentifizierung einrichten in meinem Projekt, ich muss nur die Logik zum füllen der HandleAuthenticateAsync
Methode.
Habe ich versucht, mit andere Beispiele, aber Sie scheinen nicht zu funktionieren .NET Core 2.0.
Hier ist die einzig relevante code, den ich habe, ich kann mir denken, posten
protected override Task<AuthenticateResult> HandleAuthenticateAsync()
{
//Get Authorization header value
if (!Request.Headers.TryGetValue(HeaderNames.Authorization, out var authorization)) {
return Task.FromResult(AuthenticateResult.Fail("Cannot read authorization header."));
}
//TODO: Authenticate user
//Create authenticated user ticket
var identities = new List<ClaimsIdentity> { new ClaimsIdentity("custom auth type") };
var ticket = new AuthenticationTicket(new ClaimsPrincipal(identities), Options.Scheme);
return Task.FromResult(AuthenticateResult.Success(ticket));
//else User not authenticated
return Task.FromResult(AuthenticateResult.Fail("Invalid auth key."));
}
So, meine Frage ist, wie Binde ich die LDAP-Authentifizierung .NET Core 2.0?
Es sieht aus wie, ist für .NET Framework nur
InformationsquelleAutor Window | 2018-04-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dank Win Antwort für den Hinweis hin, dass ich brauchte, um Windows Compatibility Pack, ich war in der Lage, um dies herauszufinden.
Das erste, was ich tun musste, war installieren Sie die Nuget-Paket
An der Zeit, die ich brauchte, eine preview version, also habe ich angehängt
-Version 2.0.0-preview1-26216-02
am Ende dieser BefehlDann fügen Sie using-Anweisungen für
System.DirectoryServices
undSystem.DirectoryServices.AccountManagement
Dann schließen Sie einfach diese Logik in meine
HandleAuthenticateAsync
Methode:Aktualisiert die Antwort zu beinhalten Beispiele für beide
LDAP_DOMAIN
undLDAP_PATH
. Cheers.Hallo, ist diese unterstützt .Netto-Kern-app-hosted in Linux? Ich muss AD authenication .net-core-Anwendung gehostet in Linux.
Ich bin mir nicht 100% sicher. Bis zu diesem morgen war ich unter dem Eindruck, dass alles, was in .NET-Kern wurde mit 100% cross-Plattform-kompatibel, aber ich habe einen Artikel gelesen, der sagte, daß WCF-Unterstützung war zu kommen in 3.0, aber das wäre nur unter Windows unterstützt. Tut mir Leid, aber ich kann Euch keine klare Antwort. Ich würde vorschlagen, versuchen Sie es selbst, um zu sehen, ob es funktioniert.
Hi, ich habe es mit Novell gearbeitet.Ldap. Bis heute System.DirectoryServices ist nicht in der Linux - /Unix-Umgebung. Dachte ich gleich, dass alles, was geschrieben wird .NET Core ist Plattform-unabhängig. Aber noch nicht. Trotzdem, Novell.Ldap verwendet werden kann für die gleiche.
InformationsquelleAutor Window
Laut #2089, es ist nur verfügbar in Windows Compatibility Pack für .NET Core. Derzeit nutze ich Novell.- Verzeichnis.Ldap.NETStandard.
Zur Authentifizierung und Autorisierung, die wir verwenden können Cookie-Authentifizierung, Middleware mit Forderungen.
Es hat wenige bewegliche Teile, so habe ich eine funktionierende Beispiel-Projekt bei GitHub. Es gibt zwei wesentliche Stücke - LdapAuthenticationService und SignInManager.
InformationsquelleAutor Win