Ho un'applicazione in asp.net che risiede in una intranet.
Quando un utente accede all'applicazione ho bisogno del nome utente e dominio di windows con cui ha effettuato l'accesso nel suo pc.
Nel caso non risulti loggato nella intranet non voglio far comparire la dialogbox autenticazione di windows sul browser.

Detto questo ho provato in 2 modi:
1) utilizzando authentication mode = "Forms"
Ma non riesco a ottenere il nome utente che si è loggato nel pc.
Infatti ho provato con queste istruzioni:

string NomeUtente2 = Request.ServerVariables["LOGON_USER"];
string a = HttpContext.Current.User.Identity.Name;
string NomeUtente = Request.ServerVariables["AUTH_USER"].ToString();
HttpContext currentContext = HttpContext.Current;
string userName = Page.User.Identity.Name;

ma ritornano tutte una stringa vuota.

2) utilizzando authentication mode = "windows"

Ma quando l'utente non è loggato nel browser viene visualizzata la schermata di autenticazione di windows.


La domanda è..come faccio a ottenere il nome utente solo nel caso l'utente sia loggato e a non visualizzare nessuna finestra di autenticazione nel caso non lo sia?
Grazie