paulwong

          深入淺出JAAS

          JAAS:JAVA的認(rèn)證和權(quán)限系統(tǒng),是JDK級的,并且屬于J2EE的規(guī)范之一,容器必須要實現(xiàn)的。
          作用就要規(guī)范外部(對于J2EE程序,外部指瀏覽器客戶端,對于J2SE程序,外部指調(diào)用程序)如果要作用JDK里面的東西時的情況。
          認(rèn)證:
          1. 把驗證代碼寫在LOGINMODULE的實現(xiàn)類的login()方法中
          2. 通過配置文件和加JAVA_OTPS的方式告訴JDK類全名
          3. 告訴JDK需要使用認(rèn)證的地方
            如果是J2SE的程序,在需要認(rèn)證的地方加上LOGINCONTEXT的login(),JDK會回調(diào)上面的login()方法,不通過則拋出excetion,通過則將客戶端相關(guān)信息保存到SUBJECT中;
            如果是J2EE程序,則在WEB.XML中配置相應(yīng)元素,容器會回調(diào)上面的login()方法,如果不通過則導(dǎo)到登錄頁面,通過則將客戶端相關(guān)信息保存到SUBJECT中
          驗證權(quán)限:
          1. 寫好權(quán)限策略內(nèi)容:以PRINCALS為單位,列出這個PRINCALS能做的事:PERMISSION子類列表,PERMISSION子類實現(xiàn)了要保護(hù)的對象,關(guān)鍵識別參數(shù),操作保護(hù)方法,保存為策略文件
          2. 把涉及到保護(hù)對象操作的代碼放到PrivilegedAction實現(xiàn)類的run()方法內(nèi)
          3. 通過配置文件和加JAVA_OTPS的方式告訴JDK資源文件全名,策略文件全名和需要啟用SECURITY MANAGER 
          4. 在需要驗證權(quán)限的地方,調(diào)用Subject.doAsPrivileged(Subject, PrivilegedAction, null),JDK或容器根據(jù)策略文件該SUBJECT是有操作要保護(hù)對象的權(quán)限,沒有則則拋出excetion,有則執(zhí)行
          相關(guān)實例可參照http://download.oracle.com/javase/1.4.2/docs/guide/security/jaas/tutorials/GeneralAcnAndAzn.html

           

          posted on 2011-10-06 11:38 paulwong 閱讀(339) 評論(0)  編輯  收藏 所屬分類: JAAS


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 顺昌县| 揭东县| 武陟县| 嫩江县| 台南县| 大邑县| 抚松县| 越西县| 博客| 宝山区| 石台县| 凭祥市| 日土县| 前郭尔| 胶州市| 奉新县| 杨浦区| 藁城市| 伊金霍洛旗| 子洲县| 历史| 航空| 安康市| 贵港市| 合肥市| 蓝山县| 东平县| 维西| 中江县| 绥芬河市| 黎城县| 江川县| 四平市| 武功县| 寿宁县| 广州市| 塘沽区| 定襄县| 南投县| 繁昌县| 仪征市|