我有一個MVC Web應用程序,它使用模板.xlt和.rpt生成Excel和PDF報告(使用Crystal),當我將模板放入時,它會生成沒有小故障的報告Web服務器本身,但一旦我把模板在遠程位置然後我得到一個訪問被拒絕錯誤,我發現通過過程監控,屏幕截圖如下訪問在MVC Web應用程序的共享文件夾上被拒絕
當我手動瀏覽遠程文件夾通過從服務器的資源管理器它的一切正常,我可以打開我所需要的文件,只是在訪問被拒絕時發生錯誤e服務器讀取文件。我的Web應用程序正在使用Integrated Pipeline中的ApplicationPoolIdentity。身份驗證是通過模擬和Windows身份驗證。甚至令人困惑的是,運行Excel模板的用戶是我自己的,但我得到的訪問被拒絕,而用於生成PDF的用戶是IIS Apppool。
有誰知道如何解決訪問被拒絕的問題,我已經嘗試將所有用戶完全訪問該文件夾,但仍然無法正常工作。
附加信息
我使用IIS 7.5,我還檢查了文件服務器,其中的份額,在事件的日誌註冊的用戶是不是我,但有以下細節
An account was successfully logged on.
Subject:
Security ID: NULL SID
Account Name: -
Account Domain: -
Logon ID: 0x0
Logon Type: 3
New Logon:
Security ID: ANONYMOUS LOGON
Account Name: ANONYMOUS LOGON
Account Domain: NT AUTHORITY
Logon ID: 0x90eb7c7
Logon GUID: {00000000-0000-0000-0000-000000000000}
Process Information:
Process ID: 0x0
Process Name: -
Network Information:
Workstation Name: MYWEBSERVER
Source Network Address: 10.10.10.01
Source Port: 00000
Detailed Authentication Information:
Logon Process: NtLmSsp
Authentication Package: NTLM
Transited Services: -
Package Name (NTLM only): NTLM V1
Key Length: 128
UPDATE
我需要在這種情況下使用ApplicationPoolIdentity,所以我要尋找的是仍然可以使用ApplicationPoolIdent解決方案性。
另一個更新
我想下面@Davids建議,現在我得到同樣的錯誤消息
System.Runtime.InteropServices.COMException(0x800A03EC):微軟 Excel不能訪問文件「 \ MyServer的\模板\ MyTemplate.xlt」。 有幾種可能的原因:
?文件名或路徑不存在。 •另一個程序正在使用該文件 。 ?試圖保存的工作簿與當前打開的工作簿具有相同的 名稱。在 Microsoft.Office.Interop.Excel.Workbooks.Open(字符串文件名,對象 UpdateLinks,只讀對象,對象格式,對象口令,對象 WriteResPassword,對象IgnoreReadOnlyRecommended,對象產地, 對象分隔符,可編輯的對象,對象通知,目標轉換器 對象AddToMru,對象本地,在 Ci.Infrastructure.Reporting.ReportProviderExcel.RunReport()
你爲什麼不嘗試冷杉映射遠程位置的驅動器和第一給正確的用戶權限。如果它是.net,它通常使用「網絡服務」權限。 – user1785999
如果我沒有登錄到Web服務器,它將不會映射到登錄用戶的上下文中,它將如何映射? – Raymund
你有一個域,以便您可以使用NETWORKSERVICE訪問該文件夾:http://www.iis.net/learn/manage/configuring-security/application-pool-identities – AFD