Хорошо. Здесь мы пытаемся настроить классический сайт ASP на IIS 7.5 в Windows Server 2008 R2. В корне сайта есть папка с именем dbc, и в ней есть файл, который используется для чтения и записи определенной информации во время обработки каждой страницы.
Проблема в том, что если я предоставляю разрешения на запись IUSR и разрешения на запись IIS_IUSRS или разрешения записи DefaultAppPool, я получаю «Доступ к пути E: .. \ websiteroot \ dbc \ filename.txt 'запрещен»
Но если я предоставлю ВСЕМ доступ на запись в эту папку dbc, то я не получу никакой ошибки, все кажется идеальным.
Дополнительная информация: веб-сайт работает в режиме классического конвейера, анонимная аутентификация включена (возможно, включена только аутентификация). И я попробовал анонимную аутентификацию с использованием учетной записи IUSR, а также идентификации пула приложений. В моем случае ApplicationPoolIdentity является идентификатором для аутентификации веб-сайта. Мы используем COM + для файлового ввода-вывода. И классический ASP Server.CreateObject для создания объекта из него. COM + работает как сетевая служба.
Мысли? Я не хочу давать разрешение на запись ВСЕМ. Я что-то пропустил?
Решено: вот что я сделал
Мой сайт с именем CipherDemo работал под AppPoolIdentity в IIS 7.5, который может быть расположен Identity IIS AppPool \ CipherDemo. Я использовал ICACLS, чтобы дать разрешения RW для этой папки.
и COM +, который фактически выполнял файловый ввод-вывод, выполнялся под идентификатором сетевой службы. Когда я использовал Process Monitor для отслеживания ошибки «Отказано в доступе», оказалось, что у сетевой службы есть только разрешение на чтение для этой папки.
Я использовал ICACLS "имя_фолдера" / grant: r "NT AUTHORITY \ NETWORKSERVICE" :( OI) (CI) RXW / T для предоставления доступа на запись в эту папку.
И решил это.
У меня было намерение, что, поскольку веб-сайт работает как CipherDemo Identity, это будет учетная запись, которая будет использоваться для доступа к файлу через COM +. Но стыдно узнать, что COM + все еще будет работать на своих собственных границах идентичности.