Sto tentando di distribuire un'applicazione in una rete client, con controller di dominio/AD.Autenticazione Windows richiede nome utente/password
La mia applicazione è una semplice applicazione di asp.net C#, che utilizza l'autenticazione di Windows.
Sto usando win2003.
Fondamentalmente, utilizzando VS2008, creare un nuovo sito Web, ospitato su IIS6.0. Solo 2 modifiche. 1. Su IIS Directory security per l'applicazione, abilitata "Integrated Security".
Nota: anche l'anonimo è abilitato.
Solo una modifica al codice dello scheletro generato. Aggiungere di seguito al metodo Page_Load di default.aspx
using System.Security.Principal;
...
protected void Page_Load(object sender, EventArgs e)
{
WindowsIdentity id = WindowsIdentity.GetCurrent();
Response.Write("<B>Windows Identity Check</B><br>");
Response.Write("Name: " + id.Name + "<br>");
Response.Write("<BR>");
Response.Write("User.Identity: " + User.Identity.Name);
Response.Write("<BR>");
}
uscita della navigazione alla pagina: Windows Identity Check- Nome: NT AUTHORITY \ SERVIZIO DI RETE User.Identity:
User.Identity.Name non restituisce il nome utente corrente.
Come discusso in questo articolo http://weblogs.asp.net/scottgu/archive/2006/07/12/Recipe_3A00_-Enabling-Windows-Authentication-within-an-Intranet-ASP.NET-Web-application.aspx
ho aggiunto:
<authorization>
<deny users="?"/>
</authorization>
Da quello che ho userstand è che, quando questo si aggiunge, posso ottenere gli utenti correnti, nome utente da User.Identity.Name .
Tuttavia, dopo aver aggiunto quanto sopra, il browser ora richiede un nome utente e una password. Una volta entrato, sono in grado di utilizzare User.Identity.Name per ottenere il nome utente. Tuttavia, non voglio che compaia il nome utente/password. Voglio che l'applicazione autentifichi l'utente in base alle sue credenziali di rete.
Mi manca qualcosa?
Quale browser hai test con? Solo IE passerà l'autenticazione nome utente/password di Windows. –
Questo non è necessariamente vero: FireFox supporta l'autenticazione integrata di Windows. –
Sì, Firefox non ha alcun problema con questo semplicemente non considera gli hostname locali come zone di fiducia/intranet come default come IE - ma sicuramente può essere configurato per. C'è persino un modello ADM esistente da qualche parte per FF, penso che gli amministratori di sistema pigri possano usarlo. –