Мы находимся в процессе обновления с IIS 6 и .NET 3.5 до IIS 7.5 (Windows Server 2008 R2 Enterprise) с тем же приложением. У меня проблемы с правильной работой нашей предыдущей установки IIS 6.
В IIS 6 я мог настроить сам веб-сайт для использования определенного пользователя домена (например, ourdomain \ webuser) для самого IIS. Это управляло начальным доступом ко всем файлам, включая HTML, изображения и т. Д., И формировало начальный запрос, который перешел на страницу ASP.NET, где затем механизм .NET взял на себя управление, а пользователь, работающий под .NET, был другим пользователем домена (например, ourdomain \ dotnetuser). Затем мы извлекаем все разрешения NTFS из одной папки (например, / lockdown /) для пользователя IIS, ourdomain \ webuser. Каждый раз, когда кто-то пытался получить доступ к файлу в этом каталоге, IIS сообщал: «Нет доступа, переходите к проверке подлинности Windows» и запрашивал учетные данные. Это по-прежнему заставляло любой базовый код .NET работать как ourdomain \ dotnetuser.
У меня проблемы с тем, чтобы та же самая установка работала под IIS 7.5, и я уверен, что это просто какой-то тупой надзор. Он ... хочет работать, но не полностью. Вот что я сделал:
Пул приложений для сайта установлен на .NET Framework v2.0.50727 с выбранным параметром «Интегрированный» в качестве режима управляемого конвейера. Затем устанавливается идентификатор ourdomain \ dotnetuser, чтобы пул работал от имени этого конкретного пользователя.
Веб-сайт настроен на IIS> Аутентификация для подключения как «наш домен \ веб-пользователь», и все, похоже, в порядке. Проблема в том, что я захожу в этот специальный каталог / lockdown /. Я попытался настроить его точно так же, как IIS 6 (просто удалив доступ к этой папке из нашего домена \ webuser). Когда я это делаю, я получаю стандартное приглашение для доступа, но после предоставления учетных данных я все равно получаю:
Error message 401.3: You do not have permission to view this directory or page using the credentials you supplied (access denied due to Access Control Lists). Ask the Web server's administrator to give you access to 'C:\ourwebsite\lockdown\default.aspx'.
Моя учетная запись находится в группе локальных администраторов на этом компьютере (плюс я здесь администратор домена), а группе администраторов был предоставлен полный доступ к этой папке. В средстве просмотра событий приложения я вижу следующее событие «Информация»:
Event code: 4008 Event message: File authorization failed for the request. Event time: 8/1/2010 8:45:18 AM Event time (UTC): 8/1/2010 12:45:18 PM Event ID: 0f8a5de692e74e67bb4e3c65a867586c Event sequence: 32 Event occurrence: 1 Event detail code: 0 Application information: Application domain: /LM/W3SVC/1/ROOT-1-129251371048714102 Trust level: Full Application Virtual Path: / Application Path: C:\ourwebsite\ Machine name: TESTWEB3 Process information: Process ID: 3008 Process name: w3wp.exe Account name: ourdomain\dotnetuser Request information: Request URL: http://localhost/lockdown/default.aspx Request path: /lockdown/default.aspx User host address: ::1 User: ourdomain\myuser Is authenticated: True Authentication Type: Negotiate Thread account name: ourdomain\dotnetuser
Есть здесь какие-нибудь предложения или идеи?