国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

JAAS基礎(chǔ)

2019-11-18 11:49:28
字體:
供稿:網(wǎng)友

   JAAS: java驗(yàn)證與授權(quán)服務(wù)(Java Authencation and Authorization Service).
  JAAS 體系結(jié)構(gòu)包括以下package:
  javax.security.auth
  javax.security.auth.callback
  javax.security.suth.login
  javax.security.spi
  JAAS主要的類和接口:
  1) Subject
  2) LoginContext
  3) LoginModule
  4) Configuration
  5) CallbackHandler
  6) Callback
  7) Policy
  8) AuthPermission
  9) PRivateCredentialsPerssion
  
  JAAS主題  Subject
  主題抽象使主題可以向系統(tǒng)驗(yàn)證和授權(quán)主題對(duì)資源的訪問。
  javax.security.auth.Subject類是個(gè)Serializable和final類,用于包裝要利用系統(tǒng)的一些安全要害方面的實(shí)體。
  它有兩個(gè)構(gòu)造器
  Subject()
       Create an instance of a Subject with an empty Set of Principals and empty Sets of public and private credentials.
  Subject(boolean readOnly, Set principals, Set pubCredentials, Set privCredentials)
       Create an instance of a Subject with the specified Sets of Principals and credentials.
  
  Subject對(duì)象還可以和定義驗(yàn)證主體身份的信息的證書相關(guān)聯(lián)。
  Subject類還定義一個(gè)getSubject()方法,兩個(gè)doAs()方法和兩個(gè)doasprivileged()方法。
  還有以下方法:
  subject.getPrincipals()       返回一組 Principal 對(duì)象。因?yàn)榻Y(jié)果是 Set,所以適用操作 remove()、add() 和 contains()。
  subject.getPublicCredentials()   返回一組與 Subject 相關(guān)的公用可訪問憑證。
  subject.getPrivateCredentials()   返回一組與 Subject 相關(guān)的專用可訪問憑證。
  
  專門主題證書
  和Subject相關(guān)的證書對(duì)象可以使用兩個(gè)接口:
  javax.security.auth.Refreshable 與
  javax.security.auth.Destoryable
  
  怎么用JAAS驗(yàn)證??
  使用可插入驗(yàn)證模塊(PAM, Pluggable Authentication Module)框架采用的模式,將應(yīng)用程序與基礎(chǔ)驗(yàn)證技術(shù)分開。
  
  登錄配置
  JAAS 使用 login.config 文件來指定每個(gè)登錄模塊的認(rèn)證項(xiàng)。login.config 文件是在 Java 執(zhí)行命令行上用特性 -Djava.security.auth.login.config==login.config 指定的。
  例子:
  JAASExample {
   AlwaysLoginModule optional;
   PassWordLoginModule optional;
  };
  ogin.config 文件包含 LoginContext 構(gòu)造器中引用的文本字符串和登錄過程列表。幾個(gè)參數(shù)用于指定一個(gè)給定的登錄過程的成功或失敗對(duì)總體認(rèn)證過程的影響。有如下參數(shù):
  
  required   表示登錄模塊必須成功。即使它不成功,還將調(diào)用其它登錄模塊。
  optional    表示登錄模塊可以失敗,但假如另一個(gè)登錄模塊成功,總體登錄仍可以成功。假如所有登錄模塊都是可選的,那么要使整個(gè)認(rèn)證成功至少必須有一個(gè)模塊是成功的。
  requisite  表示登錄模塊必須成功,而且假如它失敗,將不調(diào)用其它登錄模塊。
  sufficient  表示假如登錄模塊成功,則總體登錄將成功,同時(shí)假設(shè)沒有其它必需或必不可少的登錄模塊失敗。
  
  登錄模塊初始化
  
  下面是LoginContext
  public final class LoginContext {
  public LoginContext(String name) {}
  public void login(){}
  public void logout(){}
  public Subject getSubject(){}
  }
  
  下面是LoginModule
  public interface LoginMoudule(){
  boolean login(){};
  boolean commit();
  boolean abort();
  boolean logout();
  }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 昔阳县| 禹州市| 漳平市| 惠东县| 原阳县| SHOW| 嵊州市| 禹城市| 桓台县| 枣庄市| 汾阳市| 保山市| 松滋市| 盐城市| 滨州市| 塔城市| 四会市| 高淳县| 武安市| 资兴市| 保定市| 招远市| 三明市| 宜良县| 凌源市| 睢宁县| 方山县| 东宁县| 远安县| 柳州市| 义乌市| 河北省| 墨江| 江川县| 南溪县| 南乐县| 汉源县| 柏乡县| 张家港市| 南岸区| 中超|