Подтвердить что ты не робот

Аутентификация Windows не работает в IIS Express, отладка с Visual Studio 2013, Windows 8

Я только что обновил свое приложение с Visual Studio 2012 до Visual studio 2013. Моя проверка подлинности Windows больше не работает. Это дает мне ошибку ниже.

     HTTP Error 401.2 - Unauthorized
     You are not authorized to view this page due to invalid authentication headers.

В визуальной студии есть возможность выбрать аутентификацию непосредственно из свойств веб-сайта. Поэтому я отключил анонимный доступ и включил проверку подлинности Windows, но он просит меня ввести имя пользователя и пароль, как показано ниже. Даже если я даю учетные данные домена здесь. Он все еще дает мне это всплывающее окно снова и снова.

enter image description hereenter image description here

Веб-конфигурация:

     <authentication mode="Windows" />
     <authorization>
     <deny users="?" />
     </authorization>
     <identity impersonate="false" />
     <trace enabled="true" />

IIS Express aspnetConfig:

     <authentication>

            <anonymousAuthentication enabled="false" userName="" />

            <basicAuthentication enabled="false" />

            <clientCertificateMappingAuthentication enabled="false" />

            <digestAuthentication enabled="false" />

            <iisClientCertificateMappingAuthentication enabled="false">
            </iisClientCertificateMappingAuthentication>

            <windowsAuthentication enabled="true">
                <providers>
                    <add value="Negotiate" />
                    <add value="NTLM" />
                </providers>
            </windowsAuthentication>

        </authentication>

        <authorization>
            <add accessType="Allow" users="*" />
        </authorization>



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

Сообщите мне, если вы хотите получить более подробную информацию об этом.

Обновление:

Я узнал, что если я удалю ниже строки из web.config, чем он начнет работать.

     <remove users="*" roles="" verbs="" />
4b9b3361

Ответ 1

Будьте осторожны с модификациями applicationhost.config - в Visual Studio 2015 я обнаружил, что иногда находится в локальном каталоге проекта.

Например:

DRIVE:\MYPROJECT\.vs\config\applicationhost.config

Если вы не знаете, какой файл конфигурации приложенияhosthost используется, вы можете контролировать доступ к файлам с помощью ProcMon, а затем сузить результаты на основе "Путь", чтобы увидеть, что VS фактически читает во время отладки.

Обновить. Это похоже на поведение в Visual Studio 2017.

Ответ 2

Похоже, вы решили свой вопрос! Хорошо тебе. В дополнение к этому сообщению, помогающему мне, я обнаружил, что следующее является СУПЕР полезным для настройки моего IIS Express.

Аутентификация IIS Express Windows

Изменение: я скопировал важную информацию из связанной ссылки на случай, если она умрет. Это полностью от пользователя vikomall

Опция-1:

отредактируйте файл \My Documents\IISExpress\config\applicationhost.config и включите аутентификацию windows, т.е.

<system.webServer>
...
  <security>
...
    <authentication>
      <windowsAuthentication enabled="true" />
    </authentication>
...
  </security>
...
</system.webServer>

вариант-2:

Разблокируйте раздел windowsAuthentication в \My Documents\IISExpress\config\applicationhost.config следующим образом

<add name="WindowsAuthenticationModule" lockItem="false" />

Измените настройки переопределения для необходимых типов аутентификации на "Разрешить"

<sectionGroup name="security">
    ...
    <sectionGroup name="system.webServer">
        ...
        <sectionGroup name="authentication">
            <section name="anonymousAuthentication" overrideModeDefault="Allow" />
            ...
            <section name="windowsAuthentication" overrideModeDefault="Allow" />
    </sectionGroup>
</sectionGroup>

Добавьте следующее в приложение web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
      <security>
        <authentication>
          <windowsAuthentication enabled="true" />
        </authentication>
      </security>
    </system.webServer>
</configuration>

Ниже может помочь ссылка: http://learn.iis.net/page.aspx/376/delegating-configuration-to-webconfig-files/

После установки VS 2010 с пакетом обновления 1 может потребоваться применение опции 1 + 2, чтобы работала проверка подлинности Windows. Кроме того, вам может понадобиться установить для анонимной проверки подлинности значение false в IIS Express applicationhost.config:

<authentication>

            <anonymousAuthentication enabled="false" userName="" />

Ответ 3

В Visual Studio 2017, основной проект asp.net, аутентификация устанавливается на launchSettings.json

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:54491/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "TestAspNetCoreProd": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:54492"
    }
  }
}

Ответ 4

Для Visual Studio 2019 файл applicationhost.config будет найден в

DRIVE:\MyProject\.vs\$ (Projectname)\Config\ApplicationHost.config