从 IIS7 访问 PDF 时出现文件访问异常

从 IIS7 访问 PDF 时出现文件访问异常

我在运行 IIS7 的 Windows 服务器上有一个 pdf 文件,我将其用作模板来创建可打印/离线版本的 Web 表单。我使用 .ashx 处理程序在 APS.NET 应用程序中访问它。最初它运行良好,直到我转到生产环境,它才给我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 和 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: 

答案1

处理程序PDFHandler.ashx使用了错误的语言,vb 而不是 c#,这导致了异常。这不是服务器问题,只是引发了误导性错误。到目前为止,这已经解决了问题。

相关内容