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

Исключение доступа к файлу при доступе к PDF из IIS7

У меня есть файл pdf на сервере Windows под управлением 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, WEBSERVER и LabManager изменены в целях безопасности.

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 #, что вызывало исключение. Это не было проблемой сервера, это просто приводило к ошибочной ошибке. Пока это устранило проблему.