- 7
- 0
- 约 9页
- 2017-08-20 发布于浙江
- 举报
JAAS基础认证和授权的机制
安全性是所有可以用来对资源进行保护和验证的机制。有很多种安全模型都可以用来对数据提供保护。这些安全模型可以使用加密、访问控制或其他安全方法。授权(Authorization),或称为访问控制,可以使用不同的安全服务来对资源进行保护:一种方法是Java认证和授权服务(Java Authentication and Authorization Service,JAAS),另外一种方法是Windows 2000的活动目录(Active Directory)。本文着重于介绍JAAS安全服务。
认证和授权是两种最基本的安全机制。认证就是简单地对一个实体的身份进行判断;而授权则是向实体授予对数据资源和信息访问权限的决策过程。JDK 1.4已经集成了一项提供认证和授权功能的标准服务,该服务就称为Java认证和授权服务。
JAAS通过一个配置文件来定义认证机制,而根本不需要使用任何代码。认证机制之所以需要参数是为了确定用户的身份(对用户进行标识)。用来对用户进行认证的参数,例如每种认证机制中使用的用户名和口令,都称为验证信息。Subject表示我是的那个人,但是我们也可以使用验证信息(可以理解为驾驶执照)向巡警证明自己的身份,并使用另外一个验证信息(可以理解为护照)向边防警察证明自己的身份。授权只能在认证之后进行,因为在向用户开放保护资源的访问权限之前,必须对用户的身份进行确认。JAAS框架对由配置文件指定的认证模块进行了包装。如果认证成功,就会返回一个包含验证信息的Subject,认证机制所返回的这个验证信息会用于授权过程。
JAAS首先使用一个LoginContext类来查找配置文件中的内容,这些内容可以用来对LoginModules进行初始化(见图1)。所有LoginContext没有指定的初始化参数都会包含在配置文件中。LoginContext还会向LoginModule传递一个CallbackHandler,CallbackHandler又会回调适当的应用程序,从而获得其他认证信息。例如,如果LoginContext在创建CallbackHandler时没有指定用户名和口令,而LoginModule又的确需要这些内容,那么LoginModule就会使用CallbackHandler来回调LoginContext,以重新获得所需要的信息。
为了让验证信息可用于登录,LoginContext还可以向LoginModule传递Subject。图1 JAAS初始化序列图在创建LoginContext时,完成LoginModule的初始化之后,LoginContext就可以调用login( )方法(见图2),它会对Subject进行认证。登录过程需要经过一个由LoginModule组成的菊花链,根据配置文件的内容,每一步都需要一个不同类型的验证信息。配置文件还可以指定可选而非必须的LoginModule的配置。LoginModule会完成一个两阶段的登录过程:第一个阶段是登录过程调用LoginModule的login( )方法;第二个阶段是调用commit( )或abort( )方法完成登录过程。commit( )过程是当所有其他LoginModule完成自己的login( )方法之后才在登录过程中被调用的,然后最后一个LoginModule会调用commit方法,之后是下一个,依此类推。如果login( )方法不能成功执行,就会调用abort方法来清除已经执行的操作。如果所有必须的commit( )方法都成功完成了,那么登录过程也就成功地完成了。
图2 JAAS登录序列图授权过程需要使用在登录过程中确定的验证信息,因此,认证过程通常都是在Subject类中实现的,这并没有什么可奇怪的。Subject类会使用PrivilegedAction类来执行授权的过程。另外,还有一个扩展的PrivilegedAction类对要进行访问控制的资源进行了包装。不管验证信息是否有权对资源进行访问,这都是在安全策略文件中定义的。Java安全管理程序会首先读取适当的安全策略文件,并对权限和验证信息进行分析。然后,安全管理程序会根据这些权限和验证信息使用PrivilegedAction类对资源进行授权(或禁止访问)。如果该资源不允许一个特定的验证信息访问,就会触发一个访问异常。
在WebLogic中使用JAAS WebLogic Application Server(WLS)7.0并没有对JAAS进行任何修改,JAAS依然是一个独立的扩充框架。WLS 7.0包含了自己的认证和授权机制,它并不需要策略文件。配置文件会对WLS LoginModule进行定义,使其用来包装WLS的认证机制。WLS LoginModule通常需要一个用户名、一个口令
您可能关注的文档
- He-Ne激光器纵模间傅聂的测量.doc
- Heckman两阶段的.ppt
- HDS全线产品和方案降拈绍.ppt
- Hello China V16图械奈用户接口(GUI)模块开发指南.ppt
- HG-11-通信协议的.doc
- hibernate4 二级缓吹逆demo实例.doc
- Hibernate 基础讲解的.ppt
- Hibernate一级缓存的.pdf
- Hibernate与 MyBati的s的比较.doc
- hibernate中的几个值呢要方法以及调用.doc
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
最近下载
- 深度解析(2026)《GB 18279.1-2015医疗保健产品灭菌 环氧乙烷 第1部分:医疗器械灭菌过程的开发、确认和常规控制的要求》.pptx VIP
- 医药行业药品生产质量管理手册(标准版).docx VIP
- 与朱元思书复习(2).ppt VIP
- 《高等教育学科专业设置调整优化行动方案(25—27年)》(以下简称《方案》).docx VIP
- 2024年世少赛真题-四年级数学A卷(3).pdf VIP
- 《与朱元思书》复习.pptx VIP
- 空战的艺术ART_OF_THE_KILL--现代空战全面指导.pdf VIP
- 2014江苏安装工程定额.xls VIP
- 一种基于有机硅改性酚醛环氧树脂的涂料及其制备方法.pdf VIP
- 2026年新版自考本科英语2复习题.doc VIP
原创力文档

文档评论(0)