Что такое код для получения имени пользователя из MVC контроллера MVC веб-приложения - PullRequest
1 голос
/ 23 января 2020

Я пытаюсь получить имя пользователя в MVC веб-приложении, которое публикуется в IIS, но оно не работает.
Это 3 вещи, которые я пробовал:

1) public string userName = System.Environment.UserName;

2) public string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

3) В виде: @Html.Label((string)ViewBag.Name)

В контроллере: ViewBag.Name = userName;

Работает когда я отлаживаю приложение локально на моей машине. Хотя, когда я go захожу на сайт, он не получает моего имени пользователя, а выглядит так, как будто он что-то получает от IIS? Я просто хотел бы получить имя пользователя этого человека на веб-сайте и никаких других функций.
Я добавил фотографию проверки подлинности IIS, не знаю, имеет ли это значение, но я проверяю, что ничего не пропустил. Не могли бы вы помочь мне с этим? Заранее большое спасибо. enter image description here

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Я нашел решение. Мне пришлось сделать (1) анонимную аутентификацию для отключенного и (2) Windows аутентификацию для включенного как в свойствах проекта, так и в аутентификации IIS.

Теперь я получаю свою фамилию обратно «Вебстер», но Я хотел бы получить NSantagata (имя и фамилию) или Fieldaero \ nicola.santagata. Как я мог это сделать? Это код, который у меня есть:

В контроллере: var userName = Request.RequestContext.HttpContext.User.Identity.Name; ViewBag.Name = userName; [/ code]

В представлении: @Html.Label((string)ViewBag.Name)

Если я делаю это прямо из просмотр с кодом [code] @ Request.RequestContext.HttpContext.User.Identity.Name [/ code] Я получаю то, что хочу, то есть Fieldaero \ nicola.santagata, но я не знаю, как получить тот же результат в контроллере , Затем я буду использовать значение в контроллере для выполнения другого кода. Большое спасибо за вашу помощь!

0 голосов
/ 23 января 2020

В вашем контроллере, чтобы получить имя пользователя, вы можете использовать это:

var userName = Request.RequestContext.HttpContext.User.Identity.Name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...