JAAS

Java認證和授權服務Java Authentication and Authorization Service,簡稱JAAS)是一個Java以用戶為中心的安全框架,作為Java以代碼為中心的安全的補充。自Java執行環境(JRE) 1.4起,JAAS就被整合到JRE,而之前是作為一個擴充功能庫由Sun公司提供的。

JAAS的主要目標是分開使用者認證的議題,這樣就可以個別地管理他們。

管理

對系統管理者而言,JAAS有兩種設定檔:

  • *.login.conf:詳述如何插入廠商提供的用戶認證模塊(Login Module)到特定應用程式裡。
  • *.policy:詳述哪個身分(使用者或程式)獲得哪種許可

例如,一個有這種login.conf的檔案指出不同的認證機制要如何執行以認證使用者。

   PetShopApplication {
      com.sun.security.auth.module.LdapLoginModule sufficient;
      com.foo.SmartcardLoginModule                 requisite;
      com.sun.security.auth.module.UnixLoginModule required debug=true;
   };

應用程式介面

對應用程式開發者而言,JAAS是一個標準的程式庫,並提供了:

  • 身分(Principal)和一系列憑證(Subject)表示。
  • 認證服務,將呼叫你的應用程式的回呼介面請求用戶的資訊,如使用者名稱和口令。認證服務將返回一個新的Subject物件。
  • 授權服務,驗證一個Subject是否由管理員授予了某個權限。

安全系統整合

對安全系統整合者而言,JAAS提供的介面可以:

  • 提供你的身分名字空間給應用程式。
  • 將憑證附加線上程上(Subject)。
  • 有關登入模組的開發。你的模組呼叫回呼函式查詢用戶,檢查他們的應答並生成Subject

參見

外部連結