Проверка подлинности 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. Есть ли параметр конфигурации, который мне не хватает?
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, исключив необходимость редактирования угловых скобок.
- Если вы еще этого не сделали, щелкните правой кнопкой мыши веб-проект и выберите "Использовать IIS Express...".
- после завершения выберите веб-проект и нажмите F4 для фокусировки панели свойств.
- установите для свойства "проверка подлинности Windows" значение Включено, а для свойства " анонимная проверка подлинности Нетрудоспособный.
Я считаю, что это решение превосходит варианты 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, выполните следующие действия.
- щелкните правой кнопкой мыши на папке решения
- выберите 'Свойства'
- на , нажмите кнопку
Hiddenфлажок(по умолчанию снят),- нажмите кнопку "Применить" кнопка
- появится окно подтверждения "применить изменения к этой папке, подпапке и файлам", выбранная опция, нажмите "ОК".
Повторите шаги с 1 по 5, за исключениемstep 3, на этот раз вам нужноuncheckпараметр "скрытый", который вы проверили ранее.теперь должен быть в состоянии видеть .папка против.
после выполнения всех вышеприведенных ответов я понял, что не запускаю Visual Studio в качестве администратора. После запуска от имени администратора, проблема решена.

Comments