401.1 Ошибка при доступе к виртуальному каталогу, указывающему на общий сетевой ресурс - PullRequest
3 голосов
/ 06 марта 2009

IIS5 работает на SERVER1.

Один из виртуальных каталогов в IIS, myfiles, указывает на «Общая папка на другом компьютере», // SERVER2 / myfilesshare

Когда я пытаюсь получить доступ к странице: http://SERVER1/myfiles

... Я получаю ошибку:

У вас нет прав для просмотра этой страницы

HTTP 401.1 - неавторизован: сбой входа в систему

Информационные интернет-услуги

Я трижды проверил настройки «Подключить как ...» в IIS. Учетные данные, которые я использую для доступа к общему ресурсу, правильные - они работают при подключении к общему ресурсу в проводнике Windows, но не через виртуальный каталог IIS. Я попытался предоставить полное разрешение всем пользователям для папки в SERVER2, но безуспешно.

Есть мысли?

Ответы [ 4 ]

7 голосов
/ 21 апреля 2015

Вот так я решил свою проблему, может вам помочь.

По умолчанию IIS использует локального пользователя с именем IUSR для виртуальных каталогов при использовании анонимной аутентификации. Он не использует идентификатор приложения , что должно быть очевидно, если вы используете procmon.

Как заставить его использовать идентификатор приложения?

Легко, под управлением IIS:

1) перейти к аутентификации

2) Редактировать «Анонимная аутентификация»

3) Выберите «Идентификатор пула приложений»

4) Перезапустите IIS, и он должен работать.

То же самое с PS: Set-WebConfigurationProperty -filter /system.WebServer/security/authentication/AnonymousAuthentication -name username -value ""

Эта ссылка содержит плюсы / минусы: http://blogs.technet.com/b/tristank/archive/2011/12/22/iusr-vs-application-pool-identity-why-use-either.aspx

2 голосов
/ 06 марта 2009

Проблемы с разрешениями могут быть сложными. Попробуйте запустить filemon на другом компьютере. Его можно скачать здесь: http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx (это не большое приложение, просто крошечный легкий инструмент)

После того, как вы запустили filemon, остановите процесс монитора (я полагаю, он включен по умолчанию при запуске приложения), очистите зарегистрированные данные, создайте фильтр для папки, к которой у вас возникли проблемы с доступом. Запустите процесс мониторинга. Запросите вашу веб-страницу. Остановите процесс монитора и найдите сообщения «отказано в доступе» в filemon. При обнаружении filemon также упоминает имя реального пользователя, который пытается получить доступ. Это может помочь вам найти решение.

Кстати, при использовании Windows Server 2008 вам потребуется processmon вместо: http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

1 голос
/ 22 октября 2012

Представьте себе сценарий, когда по какой-либо причине вы хотите, чтобы ваш IIS-сервер имел доступ к общему ресурсу на файловом сервере, а они не в одном домене.

Если вы можете следить за этим и заставить его работать на вас (я сделал это для 32-разрядного файлового сервера Win2008-R1 и 64-разрядного Win2008-R2 с IIS 7), то вы должны быть в хорошей форме для любого сценария.

  • Локальная учетная запись с одинаковым именем на обоих серверах с одинаковым паролем
  • В IIS используйте aspnet_regiis -ga MyAccount, чтобы предоставить локальной учетной записи доступ к кишкам IIS
  • Теперь используйте это в качестве идентификатора пула приложений на веб-сайте.
  • Использование локальной политики безопасности (инструменты администратора) включает доверие для делегирования для локальной учетной записи
  • Перезагрузите сервер IIS
  • На файловом сервере используйте локальную политику безопасности, чтобы разрешить доступ из сети для локальной учетной записи
  • Создать общий ресурс, предоставляющий требуемые разрешения локальной учетной записи (а также необходимые разрешения на вкладке «Безопасность»)
  • Откройте порты общего доступа к файлам и принтерам на обоих (настолько ограниченно, насколько это возможно), чтобы указать, где он работает для вас, когда вы используете Windows Explorer между двумя
  • Вернуться к IIS, создать виртуальный каталог, используя UNC-путь к общей папке с файлового сервера
  • Просто используйте сквозную аутентификацию (которая будет использовать вашу локальную учетную запись)
  • Вы можете указать настройку анонимной аутентификации виртуального каталога, чтобы она также использовала идентификатор пула приложений

Используйте то, что будет проверять / проверять. На самом деле ключом является доверие для делегирования с использованием Service Account (домен или иным образом) и использование IIS той учетной записи, которую вы хотите использовать вместо локального сервера или сетевой службы.

Это заняло у меня целый день, чтобы понять. Различные темы в StackOverflow и других интернет-источниках помогли мне указать на различные ресурсы, но нигде не нашли точного ответа. Надеюсь, следующий человек, который застрял с этой проблемой, получит ускорение на пути к решению с моим описанием того, что сработало для меня.

0 голосов
/ 06 марта 2009

попробуйте включить проверку подлинности Windows на вкладке безопасности виртуального каталога (в IIS).

...