【Java安全技术探索之路系列:Java可扩展安全架构】之十五:JAAS(二):JAAS类和接口

来源:互联网 发布:袁隆平 转基因 知乎 编辑:程序博客网 时间:2024/05/17 04:43

作者:郭嘉
邮箱:allenwells@163.com
博客:http://blog.csdn.net/allenwells
github:https://github.com/AllenWell

【Java安全技术探索之路系列:Java可扩展安全架构】章节目录

【Java安全技术探索之路系列:Java可扩展安全架构】之一:Java可扩展安全架构开篇
【Java安全技术探索之路系列:Java可扩展安全架构】之二:JCA(一):JCA架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之三:JCA(二):JCA类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之四:JCA(三):JCA编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之五:JCE(一):JCE架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之六:JCE(二):JCE类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之七:JCE(三):JCE编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之八:JCP(一):JCP架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之九:JCP(二):JCP类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之十:JCP(三):JCP编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之十一:JSSE(一):JSSE架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之十二:JSSE(二):JSSE类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之十三:JSSE(三):JSSE编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之十四:JAAS(一):JAAS架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之十五:JAAS(二):JAAS类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之十六:JAAS(三):JAAS编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之十七:JGSS(一):JGSS架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之十八:JGSS(二):JGSS类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之十九:JGSS(三):JGSS编程模型
【Java安全技术探索之路系列:Java可扩展安全架构】之二十:SASL(一):SASL架构介绍
【Java安全技术探索之路系列:Java可扩展安全架构】之二十一:SASL(二):SASL类和接口
【Java安全技术探索之路系列:Java可扩展安全架构】之二十二:SASL(三):SASL编程模型

在J2SE中,JARS框架的核心类和接口分布在以下包中:

  • javax.security.aufh.:包含用于认证和授权机制的基类和接口。
  • javax.security.auth.callback: *:包含用于定义应用的认证凭证的类和接口。
  • javax.security.auth.login.,:包含用于登录和退出应用域的类。
  • javax.security.auth.spi. *:包含JARS提供者用于实现JARS模块的接口。

这些类和接口可以进一步分为3类:通用、认证和授权。下面介绍这3类中一些重要的类和接口。

一 通用类

1.1 javax.security.auth.Subject

Subject(主体类,javax.security.auth.Subject):代表一组相关实体,如具有一组安全凭证的个人、组织或服务。一旦通过认证,可以用相关的身份或Principals填充Subject,并根据Subject做出授权决策。

1.2 Java.security.Security

Principal (Java.security.Security):代表已通过认证的实体(如个人、组织和服务等)的接口。

二 认证类

2.1 javax.security.auth.login.LoginContext

LognContext(登录上下文类,javax.security.auth.login.LoginContext):提供了认证Subjects的基本方法。一旦调用者实例化LoginGontext,那么Login Context将调用登录方法来认证Subject。另外,它还负责加载Configuration和实例化合适的LoginNtodulesa。

2.2 javax.security.auth.login.LoginModule

LoganModule(登录模块类,javax.security.auth.login.LoginModule):该接口主要是为JAAS提供者提供的,允许JARS提供者将认证机制实现为登录模块并将其插人。将登录模块插人应用环境旨在提供特定类型的认证。在认证过程中,使用一个Subject、一个CallbackHandler、共享的LoginModule状态和登录模块特定的选项来初始化每个LoginModule。登录模块使用 CallbackHandler与用户通信。J2SE 1.4提供很多登录模块,它们位于com.sun.security.auth.module包中。

2.3 javax.security.auth.login.Configuration

Configuration(配置类,javax.security.auth.login.Configuration):代表用于特定登录应用的登录模块配置。

2.4 javax.security.auth.login.CallbackHandler

CallbackHandler(回调处理器类,javax.security.auth.login.CallbackHandler):定义了一个接口,允许同用户身份交互以获取与认证相关的数据,如用户名AN码、生物特征样本和基于智能卡的凭证等。应用实现CallbackHandle:并将其传递给LoingContext, LoingContext则直接将其转发给底层LoginModuleo。

三 授权类

3.1 Java.security.Policy

Policy(策略类,Java.security.Policy):代表系统级访问控制策略,用于根据已通过认证的主体进行授权。

3.2 javax.security.auth.AuthPermission

AuthPernussion(授权类,javax.security.auth.AuthPermission):封装了JAAS授权所需的基本权限,并控制对对象Policy, Subject; LoginContext和Configuration的访问。

3.3 javax.security.auth.PrivateCreclentialsPermission

PrivateCredenti址螃妇rission(私有凭证权限类,javax.security.auth.PrivateCreclentialsPermission):封装了用于访问Subject的私有凭证的权限。

0 0
原创粉丝点击