asp.net項目添加遠程共享目錄作爲虛擬目錄要怎麼設置?
服務器IIS網站如何添加遠程共享目錄作爲虛擬目錄?
VS調試工具IIs express又是怎樣添加遠程共享目錄作爲虛擬目錄?
網上找的資料都不成功,最後還是結合網上的資料,以及自己的試驗解決了。
-----------------------分三步-----------------------------------------------
第一步,設置權限及遠程共享目錄;
第二步,設置IIs express訪問共享目錄,實現vs調試;
第三步,設置服務器IIs訪問遠程共享目錄,實現網站部署;
-----------------------------------------------------------我是一根線,下邊纔是具體操作步驟-------------------------------------------------------------------------第一步:設置權限及遠程共享目錄
(注:A服務器爲ASP.NET程序所在服務器(VS的IIS express或服務器IIS),B服務器爲共享文件夾所在服務器)
- 在兩臺服務器上建立相同用戶名、相同密碼的Windows帳戶(A與B服務器都要建),比如假設這裏用戶名是ZzkIndexer,密碼是12345678。
- 取消兩臺服務器上的ZzkIndexer帳戶的遠程控制(Remote Control)權限(讓這個帳戶擁有儘可能少的權限),如下圖:
- 將B服務器上的ZzkIndexer帳戶移出所有用戶組(包含Users),如下圖:
不屬於任何用戶組?是的,不要懷疑,已經過實踐檢驗。
- 在B服務器上創建共享文件夾ZzkIndex並給ZzkIndexer帳戶授予寫權限,有兩個權限需要設置,一個是文件系統權限,一個是共享權限。
文件系統權限設置如下圖: 共享權限設置如下:
第二步:設置IIs express訪問共享目錄,實現VS調試訪問遠程共享目錄
- 在A服務器的ASP.NET源程序的web.config文件中,添加帳戶模擬設置:
<system.web> <identity impersonate="true" userName="ZzkIndexer" password="12345678"/> </system.web>
- 在A服務器上,設置“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files”的文件系統權限,授予ZzkIndexer帳戶修改權限(注:根據程序是x86或x64選擇對應文件夾Framework或Framework64;v4.0.30319爲當前.NET Framework版本號)。 否則,運行時會出現錯誤:The current identity (ZzkIndexer) does not have write access to 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files'.
- 在A服務器上,設置“C:\Users\當前登錄用戶\AppData\Local\Temp\Temporary ASP.NET Files”的文件系統權限,授予ZzkIndexer賬戶修改權限(注:當前登錄用戶,爲window系統登錄用戶名;此項設置爲非必要設置,僅當網站運行時仍提示拒絕訪問時使用 )
- 在A服務器上,編輯“程序根目錄\.vs\config\applicationhost.config”文件,將遠程共享目錄添加到iis express的虛擬目錄,詳情請看https://blog.csdn.net/ningxi_/article/details/103618386
- 到此,遠行VS裏的項目,就可以像項目內部文件的虛擬路徑一樣,正常讀寫遠程共享目錄裏的文件了。
第三步:設置服務器IIs訪問遠程共享目錄,實現網站部署;
1、在A服務器的IIS中創建網站,在網站上添加虛擬目錄 ,指向B服務器的共享文件夾,如下圖:
2、選中A服務器IIS上的虛擬目錄,打開“身份驗證”功能,啓動並設置“匿名身份驗證”的特定用戶爲ZzkIndexer。
3、設置成功,重啓網站,運行成功。