码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-06-16 17:06:32      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:jaas   接口   

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

在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的私有凭证的权限。

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

标签:jaas   接口   

原文地址:http://blog.csdn.net/allenwells/article/details/46517883

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!