而表單的處理器將儲存在一個叫ServinSecure的目錄中啟動微軟管理主控台(Microsoft Management Console,MMC)然後用右鍵擊Default Web Site建立一個新的虛擬目錄。選擇New/Virtual Directory。建立一個叫"ServinSecure"(沒有引號)的虛擬目錄。你還需要提供一個以前在你的網路伺服器檔案系統中建立的檔案夾的實體路徑。一旦你建立了這個虛擬目錄,用右鍵擊中在MMC上新建立的虛擬目錄,選擇Properties顯示虛擬目錄的屬性。
選擇Directory Security標籤,選擇Edit按鈕,接著選擇Enable anonymous…,編輯這個資源的身份確認方法。這時候會出現一個標題為Authentication Methods的對話方塊。選擇Edit按鈕,接著選擇Account used for Anonymous Access。出現一個題為Anonymous User Account的最終對話方塊。把使用者名稱的預設值從IUSR_<機器名>改成管理員,取消選定密碼同步化,並為系統管理員帳戶提供密碼。在剩餘的每個對話方塊上選擇OK使改變生效。
<%
Dim strVirtualDirectoryName 'IIS虛擬目錄名
Dim bolInProcessApplication '處理應用標記中的IIS
Dim objIIS 'ADSI IIS對象
Dim strVirtualDirectoryPath 'IIS虛擬目錄路徑
Dim objFileSystem 'VBScript檔案系統對象
Dim strOwner 'NT檔案夾所有者
Dim objVirtualDirectory 'ADSI IIS虛擬目錄對象
Dim bolScriptPermissions 'IIS指令碼許可權標記
Dim strHTTPReferer 'IIS參考頁
Dim strServerName 'NT本地機器名
Dim objWSH 'Windows指令碼主機對象
Dim objRTC '返回
Dim strACLCommand '設定ACLs的命令列串
' Does this IIS application already exist in the metabase?
On Error Resume Next
Set objIIS = GetObject("IIS://localhost/W3SVC/1/Root/" & strVirtualDirectoryName)
If Err.Number = 0 Then
Response.Write ("An application with this name already exists. Click ")
Response.Write ("<A HREF=http:// " & strServerName & " /servin/default.asp>")
Response.Write ("here</A> to choose a different name.")
Response.End
End If
Set objIIS = Nothing
現在我們將使用IIS管理對象在meta資料庫中建立IIS應用程式。
'建立IIS應用程式
Set objIIS = GetObject("IIS://localhost/W3SVC/1/Root")
strVirtualDirectoryPath = objIIS.Path & "\" & strVirtualDirectoryName
使用VBScript的FileSystemObject對象,我們將測試檔案夾是否存在於這個檔案系統;如果不存在,我們將使用CreateFolder命令建立它。
Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
'Test to see if the folder exists in the filesystem. If not, create it
On Error Resume Next
Set Folder = objFileSystem.GetFolder(strVirtualDirectoryPath)
If Hex(Err.number) = "4C" Then
objFileSystem.CreateFolder strVirtualDirectoryPath
End If
我們興奮的發抖,發現了文章Q135268:How to Use CACLS.EXE in a Batch File ( http://support.microsoft.com/support/kb/articles/q135/2/68.asp )。啊哈,好的老DOS重新導向。使用通道傳輸一個Y給CACLS.exe代表Yes。
現在是新聞 由於我們在每一期ASP專欄中收到的熱烈的反響,我們將把我們的欄目專門用於這種技術。可以預見的變化是,我們將介紹著名的Jeff Sandquist。那麼有什麼讓人傷感的呢?Tom Moran將離開Servin' It Up--但是如果你將來在其他地方看到他時不要感到太驚奇。
Jeff Sandquist(微軟最好的法裔加拿大人之一)是開發人員支援的Active Server Pages擴大群組成員之一,也是Visual InterDev MVP程式( http://support.microsoft.com/support/supportnet/supportpartners/mvps/brochuregeneral.asp)的主要負責人。