Назад | Перейти на главную страницу

Почему IIS6 использует учетную запись анонимного пользователя моего веб-сайта для доступа к файлам вместо учетной записи пула приложений?

Я настраиваю веб-сайт в IIS 6.0 и не понимаю, что такое учетные записи и разрешения. У меня есть пул приложений, созданный специально для этого веб-сайта с конкретным пользователем. На странице свойств "Методы аутентификации" учетная запись IUSR_XXX указана как анонимный пользователь.

По этому вопросу: В чем разница между идентификатором пула приложений и идентификатором веб-сайта в IIS 7.0?

..учетная запись пула приложений должна использоваться для доступа к файлам. Но я не наблюдаю такого поведения. Если я дам только учетной записи пользователя веб-сайта разрешение на доступ к файловой системе, я получу ошибку отказа в доступе. Но если я дам IUSR_XXX разрешение на чтение файлов, они отобразятся.

Так что здесь происходит? Отличается ли поведение моего IIS 6 и IIS 7 в этом вопросе? Должен ли я игнорировать пул приложений и просто сменить анонимного пользователя? Какая здесь рекомендуемая настройка для сайта, которому потребуется доступ к базе данных и запись в определенные папки в файловой системе?

Любая помощь будет принята с благодарностью, спасибо!

IUSR и учетная запись сетевой службы используются IIS. Вот мои рекомендации ...

  1. Чтобы общедоступный веб-сайт был доступен всем:

IUSR и сетевая служба должны иметь доступ для чтения ко всем файлам приложений (ASPX-страницам и т. Д.) И DLL для веб-сайта. IUSR должен иметь доступ на запись к любой папке, в которую веб-сайт записывает файлы (это может быть опасно на общедоступном сайте). Доступ к базе данных будет осуществляться с помощью учетной записи SQL или сети, указанной в web.config в разделе подключения к базе данных.

  1. Для веб-сайта с аутентификацией с помощью форм (вход через страницу входа с использованием имени пользователя и пароля):

То же, что и выше. Доступ для записи в любую папку теперь лучше защищен, поскольку лицо, использующее веб-сайт, было аутентифицировано вашим приложением.

  1. Для веб-сайта, использующего встроенную аутентификацию:

Учетные данные аутентифицированного пользователя должны иметь доступ для чтения ко всем файлам приложения (ASPX-страницы и т. Д.) И DLL для веб-сайта. Учетные данные аутентифицированного пользователя должны иметь доступ на запись к любой папке, в которую веб-сайт записывает файлы. Доступ к базе данных будет осуществляться с помощью учетной записи SQL или сети, указанной в web.config в разделе подключения к базе данных, или с помощью учетных данных аутентифицированного пользователя.

Обновить Учетная запись сетевой службы (или любая другая учетная запись, которую вы используете для своего пула приложений) и IUSR работают вместе. Мне не всегда на 100% ясно, какая учетная запись контролирует доступ к каким ресурсам, но по опыту я знаю, что вам нужны оба. IUSR используется для доступа к страницам .aspx, файлам изображений, статическому содержимому и т. Д. Учетная запись сетевой службы имеет доступ к метабазе IIS, библиотекам DLL вашего приложения, файлам инфраструктуры .Net и т. Д. Надеюсь, это поможет.

Из того, что мне удалось найти, это поведение изменилось между IIS6 и IIS7. В II6 похоже, что учетная запись пула приложений не может быть учетной записью анонимного пользователя, по крайней мере, напрямую, как вы можете во II7. Мне нравится использовать учетную запись пула приложений для анонимного доступа в IIS7, но это не работает в IIS6, поэтому мне нужна другая настройка.

См. Эту статью: http://blogs.iis.net/nitashav/archive/2010/02/15/iis6-0-ui-vs-iis7-x-ui-series-anonymous-authentication.aspx

Apart from the account changes, IIS 7.x also enables designating the Application pool identity as the anonymous user account. This main advantage of using the application pool identity as the anonymous user is that you do not have to manage security for another user account.