Как я могу получить логин пользователя клиентского компьютера в ASP.net? - PullRequest
3 голосов
/ 25 мая 2011

Вкл. Локальный хост мое имя пользователя MTA при вызове этого кода:

string opl = HttpContext.Current.User.Identity.Name.ToString();
TextBox1.Text = opl.Substring(opl.IndexOf(@"\") + 1);

ИЛИ этот код:

string opl = System.Environment.UserName.ToString();
TextBox1.Text = opl.Substring(opl.IndexOf(@"\") + 1);

Но после публикации и доступа к веб-сайту с Windows Server. Мое имя пользователя теперь «SRVCMAN».

Ответы [ 3 ]

4 голосов
/ 25 мая 2011

Чтобы это работало, перейдите в IIS, нажмите Authentication, отключите Anonymous Authentication и включите Windows Authentication

.

А затем используйте этот код:

var ident = (System.Security.Principal.WindowsIdentity)HttpContext.Current.User.Identity;
If(!ident.IsAnonymous && ident.IsAuthenticated)
{
  var loginUsername = ident.Name;
}
4 голосов
/ 25 мая 2011
    // will return the host name making the request

    string s = Request.ServerVariables["REMOTE_HOST"] ;
-----------------------------------------------------------------
    // will return the computer name

    string s = Request.ServerVariables["SERVER_NAME"] ;
-----------------------------------------------------------------
   //will return Windows account for the user.

    string s = Request.ServerVariables["AUTH_USER"] ;
-----------------------------------------------------------------

Я думаю, вы пытаетесь получить такую ​​информацию:

Переменные сервера IIS

3 голосов
/ 25 мая 2011
...