Проверка подлинности Windows IIS Express



Я пытаюсь использовать IIS Express с VS2010 для размещения приложения silverlight. Я изменил свой applicationhost.конфигурационный файл, позволяющий изменять соответствующие параметры конфигурации. У меня есть следующее В моей сети.config:

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

Я не прошел проверку подлинности и мой звонок в службу домен возвращает нулевое Запись Как пользователей. Я смог заставить это работать после установки бета-версии VS2010 SP1, но я пытаюсь заставить это работать только с IIS Express.

Как разрешаю ли я проверку подлинности Windows для работы с IIS Express. Есть ли параметр конфигурации, который мне не хватает?

309   8  

8 ответов:

:

edit \My Documents\IISExpress\config\applicationhost.config файл и включить windowsAuthentication, т. е.:

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

:

разблокировать раздел windowsAuthentication в \My Documents\IISExpress\config\applicationhost.конфигурация следующим образом

<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>

добавить следующее в приложении сеть.конфигурации

<?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 SP1 применение опции 1 + 2 может потребоваться для работы проверки подлинности windows. Кроме того, в IIS Express applicationhost может потребоваться установить для анонимной проверки подлинности значение false.config:

<authentication>

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

для VS2015 может быть расположен файл конфигурации IIS Express applicationhost здесь:

$(solutionDir)\.vs\config\applicationhost.config

и <UseGlobalApplicationHostFile> параметр в файле проекта выбирает файл конфигурации по умолчанию или для конкретного решения.

Visual Studio 2010 SP1 и 2012 добавили поддержку IIS Express, исключив необходимость редактирования угловых скобок.

  1. Если вы еще этого не сделали, щелкните правой кнопкой мыши веб-проект и выберите "Использовать IIS Express...".
  2. после завершения выберите веб-проект и нажмите F4 для фокусировки панели свойств.
  3. установите для свойства "проверка подлинности Windows" значение Включено, а для свойства " анонимная проверка подлинности Нетрудоспособный.

enter image description here

Я считаю, что это решение превосходит варианты vikomall.

  • Параметр #1 является глобальным изменением для всех сайтов IIS Express.
  • Вариант №2 оставляет развитие крафт в интернете.конфиг.
    • кроме того, это, вероятно, приведет к ошибке при развертывании в IIS 7.5, если вы не выполните процедуру "разблокировать" на applicationHost вашего сервера IIS.конфиг.

решение на основе пользовательского интерфейса выше использует элементы расположения для конкретного сайта в applicationHost IIS Express.конфигурация оставляя приложение нетронутым.

более подробная информация здесь: http://msdn.microsoft.com/en-us/magazine/hh288080.aspx

основываясь на ответе от booij boy, проверьте, проверили ли вы функцию "аутентификация windows" в Панель управления -> Программы -> включение компонентов Windows или из интернета -> информационные услуги -> Услуги во всемирной сети -> безопасность

кроме того, кажется, что есть большая разница при использовании firefox или internet explorer. После включения "проверки подлинности windows" он работает для меня, но только в IE.

в дополнение к этим замечательным ответам, в контексте среды разработки IISExpress и для того, чтобы помешать печально известной "системе.ошибка "web / identity@impersonate", вы можете просто убедиться, что в вашем applicationhost установлен следующий параметр.конфигурационный файл.

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

Это позволит вам больше гибкости в процессе разработки и тестирования, но убедитесь, что вы понимаете последствия использования этого параметра в рабочей среде, прежде чем делать так.

Полезные Посты:

в Диспетчере IIS нажмите на свой сайт. Вы должны быть "в представлении функций "(а не "просмотр содержимого")

в разделе IIS "представление функций" выберите так называемую функцию " аутентификация" и doulbe нажмите на нее. Здесь можно включить проверку подлинности Windows. Это также возможно (по моему в одном из предложенных в теме) в интернете.config ( ...)

но, может быть, у вас есть веб.конфигурация вы не хотите, чтобы scrue слишком много вокруг С. После этого поток не будет слишком много помощи, поэтому я добавил этот ответ.

этот ответ может помочь, если: 1) Ваш сайт работал с проверкой подлинности Windows перед обновлением до версии Visual Studio 2015 и 2) и ваш сайт пытается загрузить /login.aspx (хотя на вашем сайте такого файла нет).

добавьте следующие две строки в appSettings раздел вашего сайта Web.config.

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>

на той же ноте-VS 2015,.vs\config\applicationhost.конфигурация не видна или недоступна.

по умолчанию .папки vs скрывается (по крайней мере в моем случае).

если вы не можете найти .vs folder, выполните следующие действия.

  1. щелкните правой кнопкой мыши на папке решения
  2. выберите 'Свойства'
  3. на , нажмите кнопку Hidden флажок(по умолчанию снят),
  4. нажмите кнопку "Применить" кнопка
  5. появится окно подтверждения "применить изменения к этой папке, подпапке и файлам", выбранная опция, нажмите "ОК".

    Повторите шаги с 1 по 5, за исключением step 3, на этот раз вам нужно uncheck параметр "скрытый", который вы проверили ранее.

теперь должен быть в состоянии видеть .папка против.

после выполнения всех вышеприведенных ответов я понял, что не запускаю Visual Studio в качестве администратора. После запуска от имени администратора, проблема решена.

    Ничего не найдено.

Добавить ответ:
Отменить.