我們知道,想在一個操作系統執行任何一個操作都是需要用戶的。然後操作系統會檢查該用戶是否有權限執行這個操作的權限,如果有,就會執行,如果沒,就會拒絕。這和我們浏覽網站是一樣的道理,當我們在客戶端輸入一串URL並執行時,其實是向服務端發送要浏覽的請求,在操作系統來看,它也是一個操作,也是需要用戶的。以Windows為例,它是用:匿名訪問 Internet 信息服務的內置帳戶來執行這個操作的,所以如果你的網頁文件如果去掉這個用戶(通常是EVERYONE或者是USERS)的權限,就會跳出對話框,要求輸入用戶名和密碼。
但是在實際情況中,我們經常有遇到這樣的問題:如何用匿名訪問 Internet 信息服務的內置帳戶執行它更高的權限。這樣說可能很難理解,用實例來說。比如:我們在網站上(匿名訪問的那種)做了一個申請用戶的功能,也就是說要在ASP代碼中建用戶,而且是Windows裡的用戶,不是數據庫中的用戶。但是,如果要建用戶就要到administrators組的權限,很明顯,我們不可能把,匿名訪問 Internet 信息服務的內置帳戶 添加到administrators組裡。那麼我該如何去做呢?
這個時候就可以用到COM+(當然COM+的好處不只如此),用VB或者VC做一個DLL,裡面有新建用戶的功能,然後開一個接口出來。然後注冊該DLL,把它加到COM+裡。
具體操作是:
開始->程序->管理工具->組件服務->組件服務->計算機->我的電腦->COM+應該程序->右擊新建->應用程序->下一步->創建一個空的應用程序->輸入名稱(隨便)->選擇服務器應用程序->下一步->選擇此用戶->輸入有administrators組裡的用戶和密碼->完成!
接下來,在應用程序下就有剛才建好的應用程序名稱,在它的下一級,有一個組件,右擊它,新建組件,把自己做好的已經注冊的DLL導入進去就可以了!
最後,就是如何在ASP裡引用了,其實和引用其它的DLL是一樣的,set obj=server.CreateObject("") ,執行那個接口就可以了!
本人也在學習當中,希望大家一起交流,如有什麼錯誤請及時指出!