paulwong

          深入淺出JAAS

          JAAS:JAVA的認證和權限系統,是JDK級的,并且屬于J2EE的規范之一,容器必須要實現的。
          作用就要規范外部(對于J2EE程序,外部指瀏覽器客戶端,對于J2SE程序,外部指調用程序)如果要作用JDK里面的東西時的情況。
          認證:
          1. 把驗證代碼寫在LOGINMODULE的實現類的login()方法中
          2. 通過配置文件和加JAVA_OTPS的方式告訴JDK類全名
          3. 告訴JDK需要使用認證的地方
            如果是J2SE的程序,在需要認證的地方加上LOGINCONTEXT的login(),JDK會回調上面的login()方法,不通過則拋出excetion,通過則將客戶端相關信息保存到SUBJECT中;
            如果是J2EE程序,則在WEB.XML中配置相應元素,容器會回調上面的login()方法,如果不通過則導到登錄頁面,通過則將客戶端相關信息保存到SUBJECT中
          驗證權限:
          1. 寫好權限策略內容:以PRINCALS為單位,列出這個PRINCALS能做的事:PERMISSION子類列表,PERMISSION子類實現了要保護的對象,關鍵識別參數,操作保護方法,保存為策略文件
          2. 把涉及到保護對象操作的代碼放到PrivilegedAction實現類的run()方法內
          3. 通過配置文件和加JAVA_OTPS的方式告訴JDK資源文件全名,策略文件全名和需要啟用SECURITY MANAGER 
          4. 在需要驗證權限的地方,調用Subject.doAsPrivileged(Subject, PrivilegedAction, null),JDK或容器根據策略文件該SUBJECT是有操作要保護對象的權限,沒有則則拋出excetion,有則執行
          相關實例可參照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


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


          網站導航:
           
          主站蜘蛛池模板: 沙洋县| 祁东县| 彝良县| 宜兰市| 板桥市| 启东市| 雷山县| 策勒县| 巴林左旗| 临澧县| 防城港市| 盐边县| 海晏县| 凤冈县| 忻城县| 金门县| 河东区| 盈江县| 临沂市| 铁岭县| 灵台县| 莱西市| 隆德县| 潮安县| 二连浩特市| 新昌县| 清镇市| 涞源县| 三亚市| 太白县| 阿荣旗| 连平县| 德格县| 宁河县| 灌云县| 浮山县| 唐山市| 孝义市| 岳普湖县| 定州市| 河北区|