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
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.