對于如何使用COM+,來提高ASP執行權限的問題!
發表時間:2024-06-01 來源:明輝站整理相關軟件相關文章人氣:
[摘要]我們知道,想在一個操作系統執行任何一個操作都是需要用戶的。然后操作系統會檢查該用戶是否有權限執行這個操作的權限,如果有,就會執行,如果沒,就會拒絕。這和我們瀏覽網站是一樣的道理,當我們在客戶端輸入一串URL并執行時,其實是向服務端發送要瀏覽的請求,在操作系統來看,它也是一個操作,也是需要用戶的。以...
我們知道,想在一個操作系統執行任何一個操作都是需要用戶的。然后操作系統會檢查該用戶是否有權限執行這個操作的權限,如果有,就會執行,如果沒,就會拒絕。這和我們瀏覽網站是一樣的道理,當我們在客戶端輸入一串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("") ,執行那個接口就可以了!
本人也在學習當中,希望大家一起交流,如有什么錯誤請及時指出!