轉載:http://m.survivalescaperooms.com/top5/archive/2012/12/10/2812133.html
目的:實現一個2008serve的IIS的虛擬目錄(通過網絡路徑(UNC)的形式,共享在另外一個2008服務器上)
準備工作
1.共享資源服務器為 ShareServer,ip地址為:192.168.100.10;
2.Web服務器為 WebServer,IP地址為:192.168.100.20
詳細步驟:
一、共享賬戶的建立
1.在WebServer上建立一個用戶名,方便使用該用戶讀取ShareServer上的共享目錄,我們可以直接把該用戶歸入IIS_IUSRS組內。在這里我們建立名IIS_SHARED,密碼123456;2.在ShareServer中也建立一個同名的密碼的用戶(必須一致,否則在UNC驗證的時候會無法登陸)。這里用戶名也應該為 IIS_SHARED,密碼為 123456,也歸入IIS_IUSRS組中;二、共享位置的建立
ShareServer 中使用文件夾共享工具,共享出一個目錄,共享名為 web,共享權限設置為 Administrators 組 讀取+寫入,IIS_SHARED用戶 讀?。ㄈ绻枰鏂|西,就加上 寫入 權限);這里 Administrators 用戶必須擁有 讀取+寫入 權限,否則在 WebServer 里使用IIS直接設置的時候會提示無法保存設置。共享位置的文件夾安全設置也必須加入 IIS_SHARED的 讀取運行 權限
Window2008 文件夾共享需要設置一下,不像XP那么簡單,這方面的資料蠻多的,我就不累贅了^_^;三、IIS中引用共享目錄
WebServer 中IIS里建立站點或虛擬目錄,路徑指向 //192.168.100.10/web,連接認證用戶手動輸入為 IIS_SHARED,密碼 123456。當第1步完成的時候,您已經通過web方式訪問該站點或虛擬目錄中的來自 ShareServer 共享目錄的資源,但是 asp.net 還沒有權限執行。
ASP.Net的權限設置從站點根目錄下打開 web.config 文件,在 <system.web> 節點以內,加入以下內容:
<identity impersonate="true" userName="IIS_SHARED" passWord="123456" />
其實就是修改了 ASP.Net 執行的認證方式,把認證方式修改為 ASP.Net模擬用戶 ,這樣就能讓 ASP.Net 通過剛才建立的共享賬號執行和訪問 ShareServer 中的資源了。
附注:本文中的ASP.Net權限設置內容中,直接把用戶和密碼都寫入 web.config 文件內,這樣做安全性不是很好,可以使用以下方法提高安全性:從微軟下載工具 aspnet_setreg.exe (附送下載地址:http://download.microsoft.com/download/2/9/8/29829651-e0f0-412e-92d0-e79da46fd7a5/aspnet_setreg.exe) 下載后請解壓,這是一個壓縮包。在 WebServer 中使用 aspnet_setreg.exe 執行以下指令:aspnet_setreg.exe -k:SOFTWARE/AspNetIdentityAPP/identity -u:"IIS_ShareUser" -p:"123456"備注:這里的AspNetIdentityAPP/identity 可以根據你個人的愛好來設置,只要在讀取的地方對應就行了。成功執行后打開注冊表編輯器,打開目錄 HKLM/SOFTWARE/AspNetIdentityAPP/identity 會看到 userName 和 password 已經被系統加密了。
我們需要授予IIS進程用戶權限,以方便IIS用戶讀取這個加密后的配置,右鍵-->權限,加入 NetWork Service組(如果是WIN2003以下版本,IIS進程用戶應為ASPNET) 讀取 權限。打開站點根目錄下的 web.config ,把 <identity impersonate="true" userName="IIS_ShareUser" password="123456" /> 替換為<identity impersonate="true" userName="registry:HKLM/SOFTWARE/AspNetIdentityAPP/identity/ASPNET_SETREG,userName" password="registry:HKLM/SOFTWARE/AspNetIdentityAPP/identity/ASPNET_SETREG,password" />保存退出即可,這樣就完成了整個過程,安全性也得到了提升。
四、設置目錄的安全級別
進入命令提示窗口執行以下命令,找到.net的下的目錄:/WINDOWS/Microsoft.NET/work/v2.0.50727/,在該目錄下執行:caspol.exe -m -ag 1 -url "http://////computername/sharename/*" FullTrust -exclusive on,回車后提示是否執行,鍵入y回車;成功執行命令后,在執行iisreset重啟IIS;注意:該命令設置目錄的執行的安全級別后,就不需要在應用的web.config中設置安全級別了(<level trust="full" ulr=""/>)
新聞熱點
疑難解答