5

Ho un portale Web per i dipendenti che aggiornano i propri dettagli. Le persone accedono con le loro credenziali di Active Directory e ho impostato il cookie OWIN per l'autenticazione. Tutto ciò avviene tramite una pagina di accesso MVC, nulla a che fare con l'autenticazione di Windows su IIS.Collegamento all'autenticazione di Windows per le credenziali durante l'autenticazione con LDAP

Ora il browser aziendale è Internet Explorer ed è configurato per accedere automaticamente ad altri siti di autenticazione di Windows, senza richiedere la password. Ciò accade quando le persone utilizzano il PC aziendale e hanno effettuato l'accesso ai loro account di dominio. E se stanno lavorando da casa, la richiesta di autenticazione di base richiede credenziali su questi sistemi.

Ora vorrei implementare un'autenticazione automatica quando gli utenti effettuano l'accesso nei loro account di dominio Windows, dai PC di lavoro e presentano una pagina di accesso se stanno lavorando da casa.

Conosco la negoziazione di verifica e autenticazione 401, ma non è mai stata avviata con ASP.Net. Ho visto soluzioni in cui l'utente viene reindirizzato a una pagina in cui IIS è configurato per l'autenticazione di Windows, ma voglio farlo senza la configurazione di IIS. Inoltre, ricordo di aver visto qualcuno menzionare una soluzione in cui una pagina è caricata in dove l'autenticazione di base è selezionata e se l'autenticazione attraverso quella è riuscita, quindi reindirizzare l'utente già autenticato a una pagina di destinazione.

Quindi la mia domanda si riduce a: C'è un modo per avviare (e completare) la sfida 401 per l'autenticazione di base su un'azione specifica di un controller? Quindi connettersi alla proprietà Controller.User.Identity per impostare il cookie OWIN?

UPD: Come da commenti: Voglio Kerberos (autenticazione di Windows) per lavorare quando gli utenti sono in rete di dominio, in modo che siano automaticamente collegato-in. Ma non voglio che l'autenticazione di Windows avvenga quando gli utenti non si trovano nella rete del dominio, ma voglio una pagina di accesso personalizzata con opzioni per la reimpostazione della password e la registrazione (data la convalida del dipendente).

+0

Utilizzare VPN e consentire agli utenti di accedere alla rete aziendale. Troveranno i KDC e si autenticheranno tramite Kerberos. –

+0

@ Michael-O VPN è fuori questione. Gli utenti stanno già utilizzando Terminal Server (RDP) per accedere al proprio dominio. – trailmax

+0

se sono già in rete, si è verificato un problema di installazione di rete. Considera che le soluzioni native di Micrsoft non utilizzano mai binding LDAP ma Kerberos/NTLM, ecc. –

risposta

1

Se ho letto la tua domanda correttamente, si potrebbe desiderare di fare qualcosa di simile alla seguente ...

1) Creare 2 filtri autorizzazione: uno che utilizzano AD e uno che utilizzano BasicAuthentication

2) Mettere li per quello che vuoi. Nel tuo caso, se ho capito bene, prima vuoi controllare l'AD. Se l'autenticazione AD fallisce il failover su quello di base (è lì che si implementa la sfida 401). per assicurarsi che i filtri vengono eseguiti in ordine che si desidera, prestare attenzione a ordinare proprietà su filtri: https://msdn.microsoft.com/en-us/library/gg401854%28v=vs.98%29.aspx

3) Qualunque sia il filtro si finisce in (AD o BasicAuth) è possibile impostare il cookie OWIN da lì

Spero possa aiutare.

+0

Il problema è con l'implementazione del filtro BasicAuthentication. Come si fa? – trailmax

+0

Puoi essere un po 'più specifico, per favore? Qual è esattamente il problema con esso? Non hai un'idea generale su come farlo o qualcosa di particolare a riguardo? –

+0

Ecco un esempio di come si può fare: http://www.ryadel.com/en/http-basic-authentication-asp-net-mvc-using-custom-actionfilter/ –

Problemi correlati