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。
参见
外部链接
- JAAS主页 (页面存档备份,存于互联网档案馆)
- JAAS教程1 (页面存档备份,存于互联网档案馆)
- JAAS教程2
- (英文) jGuard : open source project which can secure standalone or web applications based on JAAS
这是一篇与互联网相关的小作品。您可以通过编辑或修订扩充其内容。 |