Размещение приложения mvc через IIS с аутентификацией windows, но я получаю IIS APPPOOL \ APP Мне нужен пользователь windows, который подключается (работает с IIS express) - PullRequest
0 голосов
/ 08 января 2020

Я видел подобные вопросы здесь, но я просто не могу найти хорошее решение.

Моя проблема: у меня есть приложение, которое нуждается в извлечении данных из строки подключения и информации, которая извлекается зависит от аутентифицированного пользователя windows. Когда я запускаю это в среде разработчика с IIS Express, я получаю имя вошедшего в систему пользователя.

Однако, когда я размещаю его через IIS Local, я получаю (IIS APPPOOL \) в качестве пользователя. Мне нужно, чтобы это был windows пользователь.

Даже когда я получаю логин, приложение все еще выдает APPPOOL, когда я проверяю это в моих представлениях

Кто-нибудь с хорошим решением для этого?

Я пытался:

  @System.Web.HttpContext.Current.User.Identity.Name
  @System.Security.Principal.WindowsIdentity.GetCurrent().Name
  @HttpContext.Current.Request.LogonUserIdentity.Name

<system.web>
<authentication mode="Windows" />
      <authorization>
      <allow users="*" />
      <deny users="?" />
    </authorization>
    <identity impersonate="true" />
    <trace enabled="true" />
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>

1 Ответ

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

Похоже, ваше приложение всегда имитируется как удостоверение пула приложений.

Я могу получить правильное удостоверение windows через

System.Web.HttpContext.Current.User.Identity.Name

 HttpContext.Current.Request.LogonUserIdentity.Name

User.Identity.Name;

Прежде всего, убедитесь, что ваша аутентификация выглядит нравится. Отключите олицетворение и анонимного одновременно.

<location path="mysite">
        <system.webServer>
            <security>
                <authentication>
                    <windowsAuthentication enabled="true" />
                    <anonymousAuthentication enabled="false" />
                </authentication>
            </security>
        </system.webServer>
    </location>

Во-вторых, пообещайте, что ваша windows аутентификация не выполняется с учетными данными пула приложений enter image description here

Наконец, вы должны получить правильные учетные данные. enter image description here

...