對于如何使用COM+,來提高ASP執(zhí)行權(quán)限的問題!
發(fā)表時間:2024-06-01 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]我們知道,想在一個操作系統(tǒng)執(zhí)行任何一個操作都是需要用戶的。然后操作系統(tǒng)會檢查該用戶是否有權(quán)限執(zhí)行這個操作的權(quán)限,如果有,就會執(zhí)行,如果沒,就會拒絕。這和我們?yōu)g覽網(wǎng)站是一樣的道理,當(dāng)我們在客戶端輸入一串URL并執(zhí)行時,其實是向服務(wù)端發(fā)送要瀏覽的請求,在操作系統(tǒng)來看,它也是一個操作,也是需要用戶的。以...
我們知道,想在一個操作系統(tǒng)執(zhí)行任何一個操作都是需要用戶的。然后操作系統(tǒng)會檢查該用戶是否有權(quán)限執(zhí)行這個操作的權(quán)限,如果有,就會執(zhí)行,如果沒,就會拒絕。這和我們?yōu)g覽網(wǎng)站是一樣的道理,當(dāng)我們在客戶端輸入一串URL并執(zhí)行時,其實是向服務(wù)端發(fā)送要瀏覽的請求,在操作系統(tǒng)來看,它也是一個操作,也是需要用戶的。以windows為例,它是用:匿名訪問 Internet 信息服務(wù)的內(nèi)置帳戶來執(zhí)行這個操作的,所以如果你的網(wǎng)頁文件如果去掉這個用戶(通常是EVERYONE或者是USERS)的權(quán)限,就會跳出對話框,要求輸入用戶名和密碼。
但是在實際情況中,我們經(jīng)常有遇到這樣的問題:如何用匿名訪問 Internet 信息服務(wù)的內(nèi)置帳戶執(zhí)行它更高的權(quán)限。這樣說可能很難理解,用實例來說。比如:我們在網(wǎng)站上(匿名訪問的那種)做了一個申請用戶的功能,也就是說要在ASP代碼中建用戶,而且是WINDOWS里的用戶,不是數(shù)據(jù)庫中的用戶。但是,如果要建用戶就要到administrators組的權(quán)限,很明顯,我們不可能把,匿名訪問 Internet 信息服務(wù)的內(nèi)置帳戶 添加到administrators組里。那么我該如何去做呢?
這個時候就可以用到COM+(當(dāng)然COM+的好處不只如此),用VB或者VC做一個DLL,里面有新建用戶的功能,然后開一個接口出來。然后注冊該DLL,把它加到COM+里。
具體操作是:
開始->程序->管理工具->組件服務(wù)->組件服務(wù)->計算機(jī)->我的電腦->COM+應(yīng)該程序->右擊新建->應(yīng)用程序->下一步->創(chuàng)建一個空的應(yīng)用程序->輸入名稱(隨便)->選擇服務(wù)器應(yīng)用程序->下一步->選擇此用戶->輸入有administrators組里的用戶和密碼->完成!
接下來,在應(yīng)用程序下就有剛才建好的應(yīng)用程序名稱,在它的下一級,有一個組件,右擊它,新建組件,把自己做好的已經(jīng)注冊的DLL導(dǎo)入進(jìn)去就可以了!
最后,就是如何在ASP里引用了,其實和引用其它的DLL是一樣的,set obj=server.CreateObject("") ,執(zhí)行那個接口就可以了!
本人也在學(xué)習(xí)當(dāng)中,希望大家一起交流,如有什么錯誤請及時指出!