<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 閱讀(1593) 評論(0)  編輯  收藏 所屬分類: Security領域

    導航

    統計

    常用鏈接

    留言簿(110)

    我參與的團隊

    隨筆分類(126)

    隨筆檔案(155)

    文章分類(9)

    文章檔案(19)

    相冊

    搜索

    積分與排名

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲一级片在线观看| 亚洲jjzzjjzz在线播放| 曰批全过程免费视频免费看| 好男人www免费高清视频在线| 亚洲国产片在线观看| 日韩插啊免费视频在线观看 | 香蕉视频免费在线播放| 全部免费毛片在线| 手机永久免费的AV在线电影网| 免费国内精品久久久久影院| 一级毛片在播放免费| 中文字幕第13亚洲另类| 97国免费在线视频| 亚洲视频精品在线| 免费看片在线观看| 国产亚洲精品AAAA片APP| 亚洲第一区精品日韩在线播放| 一区二区三区在线观看免费| 久久久久亚洲av无码尤物| 亚洲免费在线观看视频| 亚洲av无码一区二区三区在线播放| 国产免费久久精品| 免费无码一区二区三区蜜桃| 亚洲黄色在线播放| 国产免费av片在线播放| 91在线视频免费观看| 亚洲AV综合色区无码二区偷拍 | 亚洲区小说区图片区| 久久久久免费看黄a级试看| 亚洲免费网站在线观看| 国产国产成年年人免费看片| 99久久免费国产特黄| 精品久久久久久亚洲精品| 亚洲欧洲日本在线| 日本高清在线免费| www免费黄色网| 亚洲 欧洲 视频 伦小说| 国产亚洲精品成人a v小说| 99久久免费精品国产72精品九九| 免费VA在线观看无码| 亚洲无限乱码一二三四区|