Я полностью поддерживаю остальные ответы, но я хотел бы выделить еще один метод, который говорит:
String UserName = Request.LogonUserIdentity.Name;
Приведенный выше метод вернул мне имя пользователя в формате: DomainName \ UserName . Например, EUROPE \ UserName
Что отличается от:
String UserName = Environment.UserName;
Который отображается в формате: Имя пользователя
И наконец:
String UserName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
, который дал: NT AUTHORITY\IUSR
(при запуске приложения на сервере IIS) и DomainName\UserName
(при запуске приложения на локальном сервере).