ASP.NET appartenenza - Posso consentire l'accesso anonimo e ancora usare login automatico utilizzando Active Directory?
-
21-08-2019 - |
Domanda
spero che questo non è quello di paradossale, ma io non so come questo dovrebbe essere fatto ...
Ho un progetto MVC ASP.NET VS2008 con la seguente voce web.config:
<authentication mode="Windows">
<forms name=".ADAuthCookie" timeout="10" />
</authentication>
In questo modo l'accesso visitatore automaticamente con il loro nome utente login DOMINIO \ che hanno usato per accedere a Windows. (Giusto?)
Questo funziona con il mio server di sviluppo ( http: // localhost: xxxx ), ma non con il mio server IIS ( http: // localhost ). Probabilmente perché il server di sviluppo è 'iniziato' dal mio utente locale (che ha ActiveDirectory read-diritti sul dominio) sia perché IIS è 'iniziato' dall'utente IUSR_WORKSTATION che non lo fa. (Giusto?)
Se tutto quanto sopra è vero, come posso rappresentare l'utente di IIS (ad esempio per il mio nome utente) per autenticare solo l'utente corrente con il nome di login di Windows? (come nell'esempio qui sotto )?
o qualora l'utente IUSR_WORKSTATION essere concesso ActiveDirectory? read-diritti (non preferenziali come sarò commutazione server / utenti IUSR_ molto)
<identity impersonate="true" userName="DOMAIN\myuser" password="mypass"/>
<authentication mode="Windows">
<forms name=".ADAuthCookie" timeout="10" />
</authentication>
<identity impersonate="false"/>
Soluzione
L'autenticazione di Windows è poco chiamato (IMO). Non sta usando Windows come l'autenticazione, ma piuttosto delega il processo di autenticazione di IIS. Quindi è necessario configurare l'autenticazione di IIS, che poi scende a ASP.NET
Come si esegue questa operazione dipende dalla versione di IIS, in IIS7 ampliare fuori l'albero e fare clic sul sito web, quindi fare clic su autenticazione e abilitare l'autenticazione di Windows