Вопрос

Я хочу получить имя пользователя текущего вошедшего в систему пользователя.Я использую приведенный ниже код, но он возвращает пользователя, учетные данные которого используются в удостоверении пула приложений IIS.Веб-сайт MVC развернут на сервере.

я использовал

string userid = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();

string userid = Environment.UserName;

string userid = System.DirectoryServices.AccountManagement.UserPrincipal.Current.GivenName.ToString();

string userid = System.Web.HttpContext.Current.User.Identity.Name.ToString()

Но, похоже, ничто не дает мне правильного ответа.

Мне нужно получить имя пользователя в конструкторе HomeController.

Ниже мой web.config

<authentication mode="Windows" />
<authorization>
    <allow users="*" />
</authorization>
Это было полезно?

Решение

просто вместо

string userid = System.Web.HttpContext.Current.User.Identity.Name.ToString()

используйте это, это будет работать нормально

string userid = HttpContext.Current.User.Identity.Name.ToString() 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top