[IIS]如何設定Asp.net網站存取共享資料夾

[IIS]如何設定Asp.net網站存取共享資料夾

由於這次專案正示環境會有兩台IIS(一台防火牆內、一台外),

而且客戶希望所有上傳或下載檔案能夠統一儲存在某一台File Server(沒有AD),

但客戶對於各模組檔案存取需求又有所不同,

所以這次我們採取檔案塞資料庫和儲存共享資料夾兩種方法一起執行,

這篇自己記錄存取共享資料夾設定過程。

 

模擬環境:

防火牆內IIS:Web Server A

防火牆外IIS:Web Server B(File Server)

UNC Path:\\Server B ip\Upload

 

一、兩台Web Server建立相同帳號和密碼,並設定分享目錄讀取和寫入權限

Web Server B以建立分享資料夾(Upload)和rico帳號,並針對 rico 帳號給予Upload資料夾讀取寫入權限,

Web Server A也要建立相同帳號(rico)及密碼才能存取Web Server B 所分享的資料夾。

 

二、修改兩台Web Server Temporary ASP.NET Files資料夾權限

由於Web應用程式會使用 rico 帳號來執行,所以我們必須針對 rico 帳號給予Temporary ASP.NET Files讀取寫入權限。

根據預設,當編譯 Web 應用程式時,會將已編譯的程式碼放在 Temporary ASP.NET Files 資料夾中,

所以這個資料夾需要有適當的權限才能正確執行並編譯。

當然你也可以透過web.config修改預設路徑(如下圖)

image

更詳細可參考認識 ASP.NET 動態編譯

 

三、修改兩台Web Server的Web應用程式資料夾權限

針對 rico 帳號給予Web應用程式資料夾讀取權限。

 

四、設定網站Web.config,讓網站以 rico 帳號執行。

system.web下新增 identity

image

 

最後推薦看一篇璉大在MSDN論壇上回答網友附檔上傳到不同server問題。

 

參考

已答覆附檔上傳到不同server問題

認識 ASP.NET 動態編譯