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

參見

外部連結