erhalten Arbeiten an einer Intranet-App in .NET Core und ich möchte Informationen abrufen, die mit den AD-Benutzern verbunden sind. Momentan wird die gesamte Authentifizierung von Windows übernommen und funktioniert hervorragend. Gibt es eine Möglichkeit, Daten von AD zu ziehen? Ich mag Informationen wie Vor- und Nachnamen erhalten, E-Mail, ID usw.AD-Informationen für Benutzer in Windows-Authentifizierung für ASP.NET Core
Antwort
Nach einer Woche, dies zu versuchen, und dass ich das Novell.Directory.Ldap Paket endlich vorangekommen werden. Es war viel einfacher, Fehler zu beheben, und ich musste mir keine Sorgen über das Ausführen des dualen Frameworks machen.
Zuerst gehen Sie auf die Paket-Manager-Konsole und Typ:
Install-Package Novell.Directory.Ldap
Dies wird das Paket zu Ihrem Projekt und fügen Sie ihn in der project.json laden.
Es gibt ein paar Beispiele gibt, aber bei den meisten von ihnen nach einem Blick, sie waren nicht wirklich das, was ich brauchte. Ich landete mit dem folgenden Code auf:
var logPath = System.IO.Path.GetTempFileName();
var logWriter = System.IO.File.CreateText(logPath);
var user = "cn="+User.Identity.Name.Split('\\')[1];
logWriter.WriteLine("Current Ldap results:");
LdapConnection ADconn = new LdapConnection();
ADconn.Connect("DC IP address", 389);
ADconn.Bind("DOMAIN\\username", "password");
logWriter.WriteLine(ADconn.GetSchemaDN());
LdapSearchResults lsc = ADconn.Search("ou=OrgUnit,dc=DOMAIN,dc=com",
LdapConnection.SCOPE_SUB,
user, attrs, false);
while (lsc.hasMore())
{
LdapEntry nextEntry = null;
try
{
nextEntry = lsc.next();
}
catch (LdapException e)
{
logWriter.WriteLine("Error: " + e.LdapErrorMessage);
//Exception is thrown, go for next entry
continue;
}
DisplayName = nextEntry.getAttribute("displayName").StringValue;
UserADId = new Guid((byte[])(Array)nextEntry.getAttribute("objectGuid").ByteValue).ToString();
EMail = nextEntry.getAttribute("mail").StringValue;
logWriter.WriteLine(DisplayName);
logWriter.WriteLine(UserADId);
logWriter.WriteLine(EMail);
}
logWriter.Dispose();
//Procced
//While all the entries are parsed, disconnect
ADconn.Disconnect();
Verwendung von Windows-Authentifizierung, das der von AD gezogen Attributen des Benutzers werden kann. Einmal gezogen, können Sie sie Variablen zuweisen und sie verwenden! Es erstellt auch eine TMP-Datei in Ihrem C: \ Windows \ Temp \ -Ordner, der als Debugger in der Bereitstellung fungiert.
Hoffe, das hilft anderen!
- 1. Wie behalte Richtlinienautorisierungsergebnisse für Benutzer in ASP.NET Core, MVC 6?
- 2. asp.net Core MVC 6 Eine andere Homepage für autorisierte Benutzer
- 3. Einstellungsordner für Abhängigkeiten in ASP.NET Core MVC
- 4. Authentifizierte Benutzer in ASP.NET Core erneut anfragen
- 5. Asp.Net Core Check-Passwort für admin
- 6. Ausloggen anderer Benutzer in ASP.NET Core Identity
- 7. ASP.NET Core erkennen Mac OS Benutzer
- 8. Asp.Net Core Swagger Hilfeseiten für IFormFile
- 9. Standardwert für Feld im Datenmodell asp.net Core
- 10. Bestes Klassenbibliotheksprojekt für ASP.NET Core v1.1?
- 11. VS für Mac und ASP.NET Core
- 12. ASP.NET Core 1.0 für Enterprise-Anwendungen
- 13. Mocking Framework für asp.net Core 5.0
- 14. Primärschlüssel ändern für Benutzer in ASP.NET Identität
- 15. .gitIgnore-Datei für asp.net Core-Web-Anwendung
- 16. ASP.NET Core Integration Test für Controller-Aktion
- 17. ASP.NET Core Apache Reverse Proxy für Kestrel
- 18. ASP.NET Core mit Tools für Docker EnvironmentName für Phase
- 19. ASP.NET Core-Identität Identitätswechsel bestimmten Benutzer
- 20. ASP.NET CORE async Operation Benutzer Warnung
- 21. ASP.NET Core Identity-Implementierung in Orchard Core
- 22. Auflisten von AD-Sicherheitsgruppenmitgliedschaften für einen Benutzer in ASP.Net 5/core?
- 23. Anpassen appsetings.json für Benutzer in ASP Core 1 App
- 24. AntiForgeryConfig.UniqueClaimTypeIdentifier in ASP.NET Core
- 25. ASP.NET-Caching nur für anonyme Benutzer konfigurieren?
- 26. Asp.Net Core Identity mit AuthorizeAttribute funktioniert nicht für Rollen
- 27. Was ist IViewLocationExpander.PopulateValues () für in Asp.Net Core MVC
- 28. Keep Verbindung lebendig für Streaming in ASP.NET Core
- 29. Verschiedene Berechtigungen für Ansichten und API in ASP.NET Core-Anwendung
- 30. FromUriAttribute Ersetzung in ASP.NET Core - speziell für Parameter-Aliasing?
Ich denke für jetzt ist dies Ihre einzige Option. https://github.com/dsbenghe/Novell.Directory.Ldap.NETStandard –
Wenn Sie das Framework 4.6.1 über project.json zur Verfügung haben, können Sie dieses https://vikutech.blogspot.co.uk/2016/07 verwenden /ldap-with-aspnet-core-identity-in-mvc-core.html – K7Buoy
@ K7Buoy, Dies ist für .NET Core und es ist nicht kompatibel mit den alten .NET Framework-Pakete. Trotzdem danke! –