簡體   English   中英

授予IIS Web應用程序訪問網絡驅動器上文件的權限

[英]Give IIS web application permission to access files on network drive

我已經使用C#和.NET開發了Intranet Web應用程序,該應用程序使用Windows身份驗證對用戶進行身份驗證

頁面之一從存儲在網絡驅動器上的excel文件中讀取數據,並在屏幕上顯示信息。 要訪問存儲excel文件的網絡驅動器區域,您需要成為某個活動目錄組的成員。

當我在本地運行該應用程序時,它可以正常運行,因為它將以我的登錄ID運行,該登錄ID具有對網絡驅動器的許可。

但是,當我在Web服務器上轉到應用程序的實時版本時,會得到

System.UnauthorizedAccessException:拒絕訪問路徑'\\\\ foo \\ bar.xlsx'。

我猜這是因為IIS使用的用戶無權訪問網絡驅動器。

我已經在IIS中設置了應用程序池以使用ApplicationPoolIdentity (我假設使用IIS_USRS但是我如何向網絡驅動器授予該權限?

如果我將IIS中的應用程序池更改為使用具有權限(例如我的詳細信息)的帳戶,而不是ApplicationPoolIdentity,則會收到以下錯誤:

暫停服務

http錯誤503服務不可用。

任何幫助是極大的贊賞。

.xlsx文件具有

應用/ vnd.openxmlformats-officedocument.spreadsheetml.sheet

啞劇類型。 轉到有問題的IIS,單擊“ MIME類型”按鈕,然后在表中檢查它是否具有我所說的MIME類型。

我通過將服務器帳戶添加到有權查看文件夾的活動目錄組中來解決我的問題。

拒絕訪問:相同的錯誤,但情況不同。 使用C#.NET通過System.DirectoryServices.AccountManagement訪問Active Directory更改密碼。 我能夠閱讀,但是自然無法獲得訪問權限。 這是因為該應用程序無權修改Active Directory。 要解決此問題,我必須在web.config中添加一個具有Account Operator AD權限的帳戶。 以下是我需要添加的內容,以使其適合我們的情況。

<add key="adAdminUser" value="USERNAME"/>
<add key="adAdminPassword" value="PASSWORD"/>
<add key="adDomainFull" value="BLANK4US"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM