#c# #iis #model-view-controller
#c# #iis #модель-представление-контроллер
Вопрос:
Нам нужно реализовать код на C # для аутентификации в окне с помощью приложения MVC. Например, когда пользователь пытается получить доступ к URL, он / она получит всплывающее окно аутентификации, и пользователь введет свое имя пользователя и пароль, и нам нужно получить имя пользователя на C # и сохранить его в базе данных.
Я могу получить имя пользователя, используя приведенный ниже код, но это происходит только при размещении приложения на локальном хосте, как только я размещаю n сервер, я получаю идентификатор пула в качестве имени пользователя.
System.Security.Principal.WindowsIdentity.GetCurrent().Name;
Как я могу получить даже после размещения приложения?
Комментарии:
1. Класс SystemInformation в системе. Windows. Пространство имен Forms может предоставить вам текущее имя пользователя, в которое вы вошли. Это то, чего вы хотите?
2. Что это за приложение? ASP.NET приложения должны использовать
Page.User
илиController.User
.3. @LexLi Это приложение MVC.
Ответ №1:
Возможно, вам необходимо использовать токен личного доступа :
Ответ №2:
Если вы хотите получить имя пользователя в MVC при включении аутентификации Windows, я предлагаю вам использовать User .Идентификация.Имя вместо System.Безопасность.Принципал.WindowsIdentity.GetCurrent().Name.
Вы могли бы написать тест, как показано ниже:
public ActionResult Index()
{
ViewBag.PrincipalName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
ViewBag.Name = User.Identity.Name;
return View();
}
Вид:
<br />
The Principalname is : @ViewBag.PrincipalName
<br />
The name is : @ViewBag.Name
Результат:
Комментарии:
1. Пользователь. Идентификация. Имя, для этого я получаю имя пользователя guest вместо того, что пользователь ввел во всплывающем окне проверки подлинности окна.
2. Насколько я знаю, пользователь. Идентификация. Имя для проверки подлинности Windows — это домен и имя пользователя. Обычно клиент использует use domain / username для входа в ваше приложение. Не могли бы вы, пожалуйста, сообщить use, какое имя пользователя для гостя? Не могли бы вы, пожалуйста, поделиться подробностями настройки webconfig? Нам будет проще воспроизвести проблему и найти решение.