ПЛОХАЯ ОДЕРЖАНИЕ в IIS Express с базовой аутентификацией для всех статических запросов - PullRequest
1 голос
/ 06 февраля 2012

Мы пытаемся использовать базовую аутентификацию в проекте, который обычно отлично работает в нашей среде интеграции и контроля качества или даже работает локально с IIS 7.5. Но при локальном запуске в IIS Express возникают некоторые очень странные проблемы - любые статические запросы приводят к загадочным ошибкам HTTP 500, сообщающим нам, что произошла ошибка при доступе к этому ресурсу, возможно по ряду причин, связанных с разрешениями, с кодом ошибки 0x80070542. В то же время все, что отображается в ASP.NET, получается идеальным.

Краткий поиск указывает, что проблема обычно связана с тем, что учетная запись IIS не может получить доступ к этим ресурсам. Это было сделано, и IUSER определенно могут получить доступ к ресурсам - фактически, та же самая папка прекрасно работает в IIS 7.5; только IIS Express barfs. И только когда мы включаем базовую аутентификацию - если мы включаем аутентификацию Windows, все запросы проходят идеально.

Мы, наконец, попытались запустить sysinternals procmon, чтобы выяснить, ищем ли мы правильного пользователя и что-то другое, что выходит из строя, и мы обнаружили, что что-то не получалось из-за плохой имперсонализации. Но пытаясь выяснить, кто выдает себя за то, что было бесплодным. Из того, что мы можем сказать, учетные записи IUSER / NETWORK SERVICE / default имеют соответствующие уровни доступа, учитывая, что все работает с IIS в производственном режиме и любые виды тестов доступа. Все учетные записи, работающие под управлением IIS Express, являются локальными администраторами и должны иметь доступ к олицетворению. Добавление этого права в локальную политику безопасности вручную не имеет значения. Я просто не могу найти способ исправить это за исключением явного определения пользователя олицетворения, что мне действительно не нужно делать.

Итак, есть ли правильный способ заставить IIS Express работать с базовыми запросами на аутентификацию и статические запросы?

Ответы [ 2 ]

0 голосов
/ 22 октября 2015

Я наконец-то получил обновленную информацию о том, что в IIS Express 8 что-то глубоко внутри базовой аутентификации было сломано, и это была известная ошибка, которая не будет устранена в этой версии, но может быть исправлена ​​в будущей версии.

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

0 голосов
/ 07 февраля 2012

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

...