IIS7 / Win7-убедитесь, что удостоверение пула приложений имеет доступ для чтения к физическому пути

Я запускаю экземпляр localhost (поэтому Домены не являются моей проблемой!) на моем ноутбуке, использующем Win7 и IIS7. Я получаю ошибки аутентификации на своем веб-сайте и моем виртуальном каталоге.

default website - localhost:80  c:mydirectorylocalhost
virtual directory - c:mydirectoryweborb30

обратите внимание, что они не находятся под c:inetpubwwwroot!

теперь я сделал некоторые googling / binging и обнаружил, что мне нужно добавить мой [machinename$] в ACLs. (Надеюсь, я правильно сказал.) Я сделал это, хотя это и доменная вещь. Ничего не изменилось. Я далее прочитал, что IIS7 теперь использует ApplicationPoolIdentity, и я попытался найти это на своей локальной машине - не повезло. Итак, я изменил пул приложение для запуска под другой встроенной учетной записью. Теперь я не только получаю ошибку аутентификации, я больше не могу прикреплять процесс к W3WP.

Как же вы правильно setup VS2005, IIS7 на коробке WIN7 для локального запуска???

3 ответов


прежде чем вносить изменения в пулы приложений, все, что вам, вероятно, нужно было сделать, это добавить доступ для чтения в физический каталог для учетной записи "network service" (это учетная запись по умолчанию, используемая asp.net на vista & win7).

Я думаю, что вы можете искать в этот момент это:

aspnet_regiis -ga <useraccount> 

переключатель-ga сообщает aspnet_regiis настроить всю безопасность для asp.net - ... Обычно вам нужно делать это только тогда, когда вы используете олицетворение в своем приложение, но если вы меняете пользователя по умолчанию для пулов приложений, то вы эффективно делаете то же самое IIS wide.

лучшие полные документации я нашел в MSDN. Это относится к предыдущей версии IIS, IIS 6, но довольно легко применить его в средах IIS 7


У меня была аналогичная проблема, и в итоге я исправил ее, предоставив разрешения на чтение пользователю "IUSR" и группе "IIS_IUSRS".

Я не совсем уверен, почему это работает. Кажется странным необходимость предоставления разрешений IUSR, когда я думал, что он будет включен в группу IIS_IUSRS. Я думаю, что часть этого относится к учетной записи, пул приложений работает как (например, "IIS AppPool\Classic .NET AppPool" для классического пула приложений .NET в IIS 7.5 / Windows 7), но я все еще непонятный.

этой вопрос StackOverflow, похоже, связан.


просто попробуйте перезапустить IIS здесь:расположение IIS для перезапуска и не используйте iisreset etc

Если это не сработает, попробуйте добавить здесь сначала, а затем перезапустите (щелкните правой кнопкой мыши снова и перезапустите через интерфейс.) потом верну его разрешения.. Перезапустите снова таким же образом.

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