5

Sto creando una nuova app ASP.NET Core 1.0. Uno dei requisiti è utilizzare Active Directory per l'autenticazione dell'utente. Sfortunatamente la nostra organizzazione utilizza solo la "vecchia" Active Directory. Non utilizziamo affatto Azure Active Directory.Utilizzare Active Directory standard nell'app ASP.NET Core?

Quando creo un nuovo progetto in Visual Studio 2015, non v'è alcuna opzione per questo in "Autenticazione Change":

enter image description here

Qual è il modo migliore per farlo?

+0

Siete alla ricerca di autenticazione NTLM (che sarebbe l'autenticazione di Windows in questo screenshot) o non si desidera utilizzare AD con ie ASP.NET Identity 3? Per NTLM, qui puoi trovare una risposta più vecchia che sembra funzionare con beta8 e RC1. Per ASP.NET Identity non c'è nulla di originale e non ci sarà per quanto ne so, a causa di problemi di sicurezza (consente la bruteforcing della password e impossibile bloccare gli utenti dopo n tentativi falliti). Se vuoi ancora provarlo, devi implementare 'IUserStore' /' IUserPasswordStore' personalizzato, ma stai attento a questo approccio;) – Tseng

+1

"Per NTLM, puoi trovare una risposta più vecchia qui" - Intendevi includere un collegamento? Funzionerebbe, se riesco a trovare un modo per configurare i ruoli utente e amministratore utilizzando l'autenticazione NLTM. – Derek

risposta

3

Attualmente non è possibile.

ASP.NET Core supporta solo OpenID Connect OIDC. Le attuali versioni di ADFS, che è ciò che devi fare in una singola organizzazione in locali, supportano solo WSFed, che non è ancora implementato in Core ed è improbabile che venga implementato in Core da RTM. ADFS supporta anche OAuth, ma il team di AAD, che scrive il codice per quel pezzo, si è concentrato su OIDC.

+1

No, non lo è. AAD supporta OIDC. – blowdart

1

ASP.NET Core 1.0 RC2 può sfruttare l'autenticazione di Windows. Il codice seguente ti consentirà di accedere all'oggetto Identity utente AD nella funzione Configure(). Non ho ancora trovato un modo elegante per associare questa identità alle autorizzazioni Microsoft.AspNetCore.Identity in ApplicationDbContext.

app.Use(async (context, next) => 
    { 
      var identity = (ClaimsIdentity) context.User.Identity; 
      await next.Invoke(); 
    }); 

ho postato una domanda simile che si consiglia di seguire: Best practice for storing ASP.NET Core Authorization claims when authenticating users against Active Directory?

Problemi correlati