<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    David.Turing's blog

     

    JVM是怎樣進行授權控制的

    原文見諸于http://www.matrix.org.cn/thread.shtml?topicId=41625&forumId=55
    有網友提出疑問,

    假設JVM已開啟了SecurityManager,并且JASS的登陸模塊等也正常運作,且授權策略文件醒置正確,用戶也已正確地成功地被驗証。如果不執行Subject.doAs()或Subject.doAsPrivileged()方法,JVM會對其它任何方法調用執行權限檢查嗎?如果會,其具的實現過程又是怎樣的? 

    JAAS授權模型中對下面的情況講得好清楚:
      JVM由一個名為 SecurityManager 的類負責實施系統安全策略。在默認情況下不安裝安全管理器,必須通過一個在啟動時傳遞給 JVM 的一個名為 java.security.manager 的環境變量顯式地指定。任何應用程序都可找到安裝的 SecurityManager 并調用它相應的 check<XXX> 方法。
      對 SecurityManager 類進行的所有 check<XXX> 方法調用都解釋為相應的 Permission 對象,并將它作為輸入參數傳遞給 AccessController 類的 checkPermission() 方法。 AccessController 類有一個名為 doPrivileged 的方法。doPrivileged 方法以一個類型為 PrivilegedAction 的對象作為輸入。PrivilegedAction 的對象有一個名為 run() 的方法,如果想實現一個執行權限檢查的操作,需從PirvilegedAction中擴展,並在run()方法中實現自己的業務邏輯即可。但問題是,如果不是從PirvilegedAction中擴展的類,那麼調用其中的方法JVM還會不會執行權限檢查?

    從java API中可以看到,Subject.doAs()或Subject.doAsPrivileged()方法都以PrivilegedAction作為參數輸入的。

    我做了一個小的形象總結:
    通常來說,所有在JVM中執行的方法都回進行權限檢查,except 那些由JVM引導的類,比如FileOutputStream和FileInputStream,你也明白你能夠利用FileOuptStream做點什么壞事了,呵呵,于是你寫了一個干壞事的類叫做EsunPirvilegedAction Class,這個類往用戶的user.home寫入n個1G的文件,這個類調用JVM不經過權限檢查的FileOuptStream類。
    問題在于,JVM雖然不檢查FileOuptStream類,但會檢查所有在JVM運行中未被授權的類,包括你的
    EsunPirvilegedAction類,是否具有權限(判別標準就是C:\yourjdk\jre\lib\security\java.policy)。

    1,Permission對象如何Load入,可以看看SecurityManager機制
    2,AccessController 類執行checkPermission() 方法,所有不信任的類都不能逃過次"劫",當然,你可以叫所有Client都在其java.policy為你的創建一個Permission。
    3,PrivilegedAction是你的EsunPirvilegedAction類所必需實現的方法,否則SecurityManager不理你。

    總結性——Java有自己的信任體系,它引導的類以及它的擴展類都不需要checkPermission,你寫的要checkPermission。

    posted on 2006-04-02 11:53 david.turing 閱讀(1592) 評論(0)  編輯  收藏 所屬分類: Security領域

    導航

    統計

    常用鏈接

    留言簿(110)

    我參與的團隊

    隨筆分類(126)

    隨筆檔案(155)

    文章分類(9)

    文章檔案(19)

    相冊

    搜索

    積分與排名

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲va中文字幕无码久久不卡| 中国黄色免费网站| 无码国产精品一区二区免费模式 | 国产99视频免费精品是看6| 亚洲国产视频久久| 99久久国产热无码精品免费| 欧洲亚洲国产清在高| 三年片在线观看免费西瓜视频| JLZZJLZZ亚洲乱熟无码| 全部免费毛片在线| 国产亚洲美女精品久久久久| 久久久久久av无码免费看大片| 亚洲国产人成精品| 两个人看的www免费视频| 婷婷精品国产亚洲AV麻豆不片| 99国产精品免费视频观看| 免费观看四虎精品国产永久| 男女作爱免费网站| 国产在线观看免费观看不卡| 亚洲色无码专区在线观看| 永久免费AV无码网站国产| 久久精品国产亚洲AV大全| 成人免费观看一区二区| 亚洲精品无码av中文字幕| 中国一级毛片免费看视频| 久久亚洲精品无码| 国产精品久久久久免费a∨| 亚洲AV无码国产在丝袜线观看| 四虎影视成人永久免费观看视频| 亚洲人色大成年网站在线观看| 国产情侣久久久久aⅴ免费 | 亚洲日韩精品一区二区三区| 免费A级毛片av无码| 亚洲最大的成人网| 亚洲精品色午夜无码专区日韩| 亚洲a∨国产av综合av下载| 亚洲五月午夜免费在线视频| 7m凹凸精品分类大全免费| 久久久久亚洲AV无码去区首| 亚洲最大AV网站在线观看| 国产精品亚洲精品日韩动图 |