2

Я реализую проект ASP.NET MVC с проверкой подлинности формы. Этот проект развертывается и работает нормально, но теперь мне нужно получить текущего пользователя Windows, но я его не понимаю. Я стараюсь это:получить окна пользователя с проверкой подлинности форм ASP.NET MVC

System.Security.Principal.WindowsIdentity.GetCurrent() Название:.

но вернуть NT AUTHORITY \ NETWORK SERVICE или AUTHORITY \ IUSR этой конфигурации в IIS.

  • Анонимная аутентификация = включена.
  • Олицетворение = Отключено.
  • Аутентификация форм = включена.
  • Аутентификация Windows = отключена.
  • Основная аутентификация = отключена.

Когда я пытаюсь:

  • Anonymous Authentication = Отключено.
  • Олицетворение = включено.
  • Аутентификация форм = отключена.
  • Аутентификация Windows = включена.
  • Базовая аутентификация = отключена. .

    System.Security.Principal.WindowsIdentity.GetCurrent() Имя: Домен \ Пользователь

Я получаю текущие окна пользовательских правильно но когда я иду на веб-сайт не имеет css и существуют ошибки javascript.

Javascript Ошибка: Ресурс интерпретируется как таблица стилей, но передается с MIME типа текст/html

У меня есть этот веб-конфиг:

<identity impersonate="true"/> 
<authentication mode="Windows"> 
    <forms loginUrl="~/Account/Login" timeout="2880" /> 
</authentication> 

Я думаю, что ошибка является причиной для конфигурации IIS. * Все папки Разрешения: Все

+0

Не использовать олицетворение, если вам нужно получить доступ к сетевым ресурсам данного пользователя. Просто используйте проверку подлинности Windows, затем укажите свойство User.Identity.Name контроллера или HttpContext.Current.User.Identity.Name. Даже если вам нужно получить доступ к ресурсам, вы должны использовать WindowsImpersonationContext, чтобы сделать это на лету. –

+0

Спасибо, ответь! Я попробую: Анонимная аутентификация = Отключена. Олицетворение = Отключено. Аутентификация форм = отключена. Аутентификация Windows = включена. Базовая аутентификация = отключена. И я сделаю User.Identity.Name из базы контроллера –

ответ

0

У меня была такая же проблема ... я пробовал почти все, но ничего не работал. Затем я добавил эту строку в свой webconfig, и это сработало.
<authorization> <deny users="?" /> </authorization>

также убедитесь, что для режима проверки подлинности установлены окна. <authentication mode="Windows" />

EG: <system.web> <compilation debug="true" targetFramework="4.6.1" /> <httpRuntime targetFramework="4.6.1" /> <authentication mode="Windows" /> <authorization> <deny users="?" /> </authorization> </system.web>

Смежные вопросы