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。
参见
- 可插入的认证模块(PAM)
- Apache Shiro
- EJB#安全
外部链接
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.