IIS7.0站點/虛擬目錄中訪問共享
目的:實現一個2008serve的IIS的虛擬目錄(通過網絡路徑(UNC)的形式,共享在另外一個2008服務器上)
准備工作
1.運行組策略編輯器(gpedit.msc)
找到本地安全策略-本地策略-安全選項子項中的:網絡安全:LAN管理器身份驗證級別,默認是“沒有定義”,更改為“發送LM和NTLM響應”。
2.共享資源服務器為 ShareServer,IP地址為:192.168.100.10;
3.Web服務器為 WebServer,IP地址為:192.168.100.20
詳細步驟:
一、共享賬戶的建立
1.1.在WebServer上建立一個用戶名,方便使用該用戶讀取ShareServer上的共享目錄,我們可以直接把該用戶歸入IIS_IUSRS組內。在這里我們建立名IIS_SHARED,密碼123456;
2.2.在ShareServer中也建立一個同名的密碼的用戶(必須一致,否則在UNC驗證的時候會無法登陸)。這里用戶名也應該為 IIS_SHARED,密碼為 123456,也歸入IIS_IUSRS組中;
二、共享位置的建立
1. ShareServer 中使用文件夾共享工具,共享出一個目錄,共享名為 web,共享權限設置為 Administrators 組 讀取+寫入,IIS_SHARED用戶 讀取(如果需要存東西,就加上 寫入 權限);
2.這里 Administrators 用戶必須擁有 讀取+寫入 權限,否則在 WebServer 里使用IIS直接設置的時候會提示無法保存設置。
共享位置的文件夾安全設置也必須加入 IIS_SHARED的 讀取運行 權限
3.Window2008 文件夾共享需要設置一下,不像XP那么簡單,這方面的資料蠻多的,我就不累贅了^_^;
三、IIS中引用共享目錄
1.WebServer 中IIS里建立站點或虛擬目錄,路徑指向 file://192.168.100.10/web,連接認證用戶手動輸入為 IIS_SHARED,密碼 123456。
當第1步完成的時候,您已經通過web方式訪問該站點或虛擬目錄中的來自 ShareServer 共享目錄的資源,但是 ASP.Net 還沒有權限執行。
2.ASP.Net的權限設置
從站點根目錄下打開 web.config 文件,在 <system.web> 節點以內,加入以下內容:
<identity impersonate="true" userName="IIS_SHARED" password="123456" />
其實就是修改了 ASP.Net 執行的認證方式,把認證方式修改為 ASP.Net模擬用戶 ,這樣就能讓 ASP.Net 通過剛才建立的共享賬號執行和訪問 ShareServer 中的資源了。
四、設置目錄的安全級別
1.進入命令提示窗口執行以下命令,找到.net的下的目錄:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\,在該目錄下執行:caspol.exe -m -ag 1 -url "file://computername/sharename/*" FullTrust -exclusive on,回車后提示是否執行,鍵入y回車;
2.成功執行命令后,在執行iisreset重啟IIS;
注意:該命令設置目錄的執行的安全級別后,就不需要在應用的web.config中設置安全級別了(<level trust="full" ulr=""/>)