29

Con la recente versione di .NET Core 1.0, stiamo eseguendo la migrazione delle applicazioni RC1 alla versione finale. L'unico pezzo che non riesco a capire è come integrare l'autenticazione di Active Directory.Autentica contro Active Directory nell'applicazione .NET Core 1.0?

Precedentemente nelle applicazioni RC1, era stata utilizzata la libreria System.DirectoryServices.AccountManagement per gestire le query di autorizzazione LDAP. Tuttavia, non possiamo più mescolare questa libreria con .NET Core v1.

In genere, qual è il modo migliore per integrare l'autenticazione di Active Directory nelle nostre applicazioni utilizzando le librerie disponibili per l'uso nel framework .NET Core? IdentityServer, qualche altro servizio di terze parti come Auth0 o qualcos'altro?

+3

vedere questo problema in github. https://github.com/dotnet/corefx/issues/2089 Anche questo potrebbe aiutarti. https://github.com/jesblit/ASPNET5-FormAuthenticationLDAP/issues/3 –

+0

FWIW, l'autenticazione Active Directory basata su gruppo/nome funziona attualmente, ma mancano ancora altre funzionalità: vedere http://stackoverflow.com/questions/34746645/aspnet-5-mvc6-windows-auth-roles-authorize-attribute/38274506 # 38274506 – Coruscate5

risposta

23

La libreria Novell.LDAP è stata ported in .NET Core è possibile trovarla in NuGet. Sono disponibili numerosi samples, inclusa una password di verifica sample.

+3

Solo per FYI questi campioni sono anche "portati", e le opzioni sono criptici - è stato più semplice ottenere questa libreria in esecuzione usando i documenti C# di origine [direttamente da Novell] (https://www.novell.com/documentation/ developer/ldapcsharp /) – Coruscate5

+0

sfortunatamente, non posso usare Novel.LDAP perché è necessaria l'autenticazione per associare e interrogare ldap e questa autorizzazione è limitata nella mia azienda ... –

8

Il meglio è soggettivo, in realtà c'è solo un modo in questo momento, dato lo spazio dei nomi DirectoryServices mancante (che sta pianificando per 1.1) - federazione.

Dovresti installare ADFS ed esporlo a Internet. Quindi lo configuri come un endpoint OAuth2 e utilizza il middleware OAuth generico per reindirizzare gli accessi al tuo server ADFS. È anche possibile installare l'ultima versione beta di ADFS, che richiede l'ultima versione beta di Windows Server, e utilizzare OpenID Connect, ma sono molti i rischi beta che potresti non trovare accettabili.

Oppure, se si desidera solo i pezzi MVC più recenti, eseguirlo su .NET Desktop, in cui si ha pieno accesso allo spazio dei nomi dei servizi di directory.

+0

Ho problemi durante la configurazione di ADFS e OAuth2. C'è qualche documentazione o file di workshop su come fare questo con i pacchetti AspNetCore e framework 1.0. *? –