java權(quán)限管理框架 java securitymanager工作原理?
java securitymanager工作原理?在查看java thread的源代碼時,我發(fā)現(xiàn)了一個類securitymanager。雖然我早就知道有這樣一門課,但我并沒有深入研究。今天,我查看了它
java securitymanager工作原理?
在查看java thread的源代碼時,我發(fā)現(xiàn)了一個類securitymanager。雖然我早就知道有這樣一門課,但我并沒有深入研究。今天,我查看了它的API和源代碼,發(fā)現(xiàn)這個類有強(qiáng)大的函數(shù),可以做很多權(quán)限控制策略限制。所以這里有以下記錄。
1。首先,讓我們討論一下securitymanager類的定義(來自API):1 Security manager是一個允許應(yīng)用程序?qū)崿F(xiàn)安全策略的類。它允許應(yīng)用程序在執(zhí)行可能不安全或敏感的操作之前確定該操作是什么,以及是否在允許執(zhí)行該操作的安全上下文中執(zhí)行。應(yīng)用程序可以允許或不允許該操作。我個人認(rèn)為這個解釋不容易理解。我認(rèn)為這個類是用于權(quán)限控制的。我們可以使用這個類來控制系統(tǒng)是否可以做任何事情。如何獲取securitymanager:通過觀察源代碼,我們可以通過set和get方法類來設(shè)置/獲取securitymanager。如何檢查權(quán)限:checkPermission(Permission)方法,我們可以用這個方法來獲取securitymanager是否允許當(dāng)前操作。否則,我們將拋出一個異常。當(dāng)然,這個類還提供了一個方法來驗(yàn)證設(shè)置上下文checkpermission(permission,accesscontrolcontext)。我們可以通過設(shè)置accesscontrolcontext來確定設(shè)置accesscontrolcontext的操作是否合法。
4。權(quán)限分為以下幾類:文件、套接字、網(wǎng)絡(luò)、安全、運(yùn)行時、屬性、AWT、反射
Java中有四種成員訪問權(quán)限,其中三種有訪問修飾符:public、protected、private。Public:它擁有最大權(quán)限,允許所有類訪問。但是,如果要訪問其他包下的類,則需要使用import關(guān)鍵字將這些公共類導(dǎo)入到包中。也就是說,import將不同包的類導(dǎo)入到一個包中,轉(zhuǎn)化為包訪問權(quán)限的情況。Protected:除了提供包訪問外,它還提供對繼承該類的所有派生類的訪問。Private:最小特權(quán),只能由包含成員的類(域和方法)訪問,其他類不能訪問它。不使用這三個關(guān)鍵字時,提供默認(rèn)的包訪問權(quán)限,只允許同一包下的類(即同一目錄下的java文件)訪問該類。注意:private和protected只能修改成員,不能修改類。類是公共訪問或包訪問。