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

win2008 r2 IIS7.5 - настройка специального пользователя для пула приложений и проблемы с доверием

Сценарий:

  1. пустой win2008 r2 установить
  2. цель заключалась в том, чтобы иметь пару сайтов, работающих с изолированным пулом и выделенными пользователями
  3. Новая папка для нового веб-сайта - c: \ web \ siteA \ wwwroot, с развернутым приложением (asp.net) в папке / bin.
  4. создал пользователя с именем "appuser" и добавил его в группу IIS_USERS
  5. предоставил папке веб-сайта права на чтение и выполнение для IIS_USERS и пользователь
  6. создал сайт IIS. установить идентификатор app = pool для appuser
  7. теперь я получаю сообщение YSOD о том, что уровень доверия слишком низкий - SecurityException: That assembly does not allow partially trusted callers
  8. Добавлено <trust level="Full" /> в веб-конфиге, не помогло
  9. изменение пользователя пула приложений на Administrator заставляет сайт работать
  10. Установка «анонимного идентификатора пользователя» для IUSR или идентификатора пула приложений не имеет значения

любая идея?

почему выбранный пользователь может влиять на уровень доверия к приложению? или это просто ложное сообщение об ошибке?

есть ли «пошаговое» руководство по настройке пользователей для изолированных пулов приложений на IIS7.5?

EDIT: установка пользователя пула приложений на NetworkService также заставляет сайт работать (см. 9.)

Проблема не связана с учетной записью пользователя, если сообщение поступает из ASP.NET (YSOD), это означает, что IIS правильно запускает AppPool (кстати, вам даже не нужно добавлять пользователя в IIS_USRS, IIS делает это автоматически -магически). Похоже, копируемая сборка может быть другой, или на другом компьютере есть какие-то политики, или просто другой уровень доверия. Я бы использовал веб-развертывание (http://www.iis.net/download/WebDeploy), чтобы определить разницу между рабочим сервером и другим и посмотреть, что может отличаться, это могут быть настройки в web.config, security.config или многое другое.

Добавьте это объявление атрибута в свою сборку:

[assembly:AllowPartiallyTrustedCallers]