ASP.NET IIS System.UnauthorizedAccessException: 對路徑“C:\......xls”的訪問被拒絕。


問題:

System.UnauthorizedAccessException: 對路徑“C:\.....xls”的訪問被拒絕。

背景:

項目中用到Excel導出功能,用的是Excel模板的方式來做,意思每次,Excel會去讀取這個位置下的模板Excel文件,這個問題不是經常出現,而是

偶爾出現,今天大家都在用的時候就都出現了,我以為是同時訪問的原因導致,但細想了一下,不應該啊,是讀取權限而以,於是還是先baidu再園子,還是在園子中找到了答案

我用的是第二個處理辦法。記錄一下,加深印象。覺得好多問題都在園子中能找到,這是我15年做的最正確的一件事(加入園子)

 

注意:第一個標識我設置的是 LocalService 結果也是可以的,我用的是 二 方法.

解決方法:

一、在IIS中的默認應用程序池-->高級設置...-->標識改成Local System可以解決該問題。

二、在需要進行讀寫操作的目錄下添加Network Service這個帳號。
  具體過程:對該文件夾按右鍵--屬性--安全--添加--高級--立即查找--在“搜索結果”下選“NETWORK SERVICE”--確定--確定--確定 

三、在網上查詢了很多信息,有下列幾種解決方案: 

1.可能是安裝出了問題,重新安裝 執行命令,aspnet_regiis -i ,記得要生啟啊 
2.提升everyone的權限到可修改 
3.提升aspnet權限:控制面板-管理工具-計算機管理-本地用戶和組 找到ASPNET 隸屬於里面加上Administrators 
4.將iis虛擬目錄刪掉后重新建 
5.在web.config文件中加入<identity impersonate="true"/> 
6. 若要授予 ASP.NET 對文件的寫訪問權,請在資源管理器中右擊該文件,選擇“屬性”,然后選擇“安全”選項卡。單擊“添加”添加適當的用戶或組。突出顯示 ASP.NET 帳戶,選中所需訪問權限對應的框。 

everyone加寫入權限 
7.用xml文件保存系統選項設置,用asp.net寫入,調試運行(ctrl+F5)正常。站點配置后運行報錯:“對路徑xxx.xml的訪問被拒絕”。資源管理器->工具->文件夾選項->查看 不選"使用簡單文件共享",右擊xml文件,選"屬性"點"安全"添加"aspnet",選"完全控制",即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM