У меня есть файл PDF на Windows Server, выполняющем IIS7, который я использую в качестве шаблона для создания печатаемой / автономной версии моей веб-формы. Я получаю доступ к нему в приложении APS.NET с помощью .ashx обработчика. Первоначально это хорошо работало, пока я не переместился в Производство, затем это дало мне Access to the path 'D:\inetpub\site\My PDF.pdf' is denied.
Сначала я пытался изменить идентификационные данные Пула приложений, в случае, если это была проблема полномочий. Я также добавил полномочия полного контроля для тех идентификационных данных. Выполнение этого повредило его в более низкой среде также. Когда пул приложений был переключен назад на оригинал (ApplicationPoolIdentity), он все еще не работал.
Я нахожу файл через HttpContext.Current.Server.MapPath
, который работает как ожидалось. Затем я использую FileStream existingFileStream = new FileStream(fileNameExisting, FileMode.Open)
открыть файл для редактирования через iTextSharp. Файл имеет полномочия для 'Сетевой службы'.
Любая справка ценилась бы. Сообщите мне, нужно ли Вам больше информации.
Я приношу извинения, если это - неправильный сайт для этого вопроса. Если это, сообщите мне, и я перемещу его в надлежащий.
Править:
Ниже полномочия через icacls файла в продуктивной среде. MYDOMAIN, CustomAppIdentity, ВЕБ-СЕРВЕР и LabManagers имеют имена, изменившие для безопасности.
MYDOMAIN\CustomAppIdentity:(F)
NT AUTHORITY\NETWORK SERVICE:(F)
NT AUTHORITY\Authenticated Users:(I)(RX)
NT AUTHORITY\SYSTEM:(I)(F)
WEBSERVER\LabManagers:(I)(M)
BUILTIN\Administrators:(I)(F)
BUILTIN\Users:(I)(RX)
NT SERVICE\TrustedInstaller:(I)(F)
Править: Информация о событии
Event code: 4011
Event message: An unhandled access exception has occurred.
Event time: 7/1/2015 11:07:56 AM
Event time (UTC): 7/1/2015 6:07:56 PM
Event ID: 9c4a06e4465744da8d76e27f3d954c30
Event sequence: 48
Event occurrence: 3
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/8/ROOT/MyProject-1-130802388056279071
Trust level: Full
Application Virtual Path: /MyProject
Application Path: D:\inetpub\parent-site\MyProject\
Machine name: MYSERVER
Process information:
Process ID: 4236
Process name: w3wp.exe
Account name: IIS APPPOOL\MyProject
Request information:
Request URL: http://parentsite.url/MyProject/PdfHandler.ashx
Request path: /MyProject/PdfHandler.ashx
User host address: 159.1.15.73
User:
Is authenticated: False
Authentication Type:
Thread account name: IIS APPPOOL\MyProject
Custom event details:
Обработчик PDFHandler.ashx
имел неправильный язык, vb, а не c#, что и послужило причиной исключения. Это не было проблемой сервера, это было просто бросание вводящей в заблуждение ошибки. Пока это исправило проблему.