JAAS总结

JAAS ( Java Authentication and Authorization Service)

 

jaas

Jaas结构

JAAS是对JCE安全框架的重要补充,通过提供认证用户和确定用户授权来增强JAVA解决方案的动态安全性,使得资源能够得到很好得到保护和控制(JAAS使用动态的安全策略来定义权限,而不是将其静态的嵌入到代码中)。

JAAS 采用的是插件的运行方式,一开始就被设计成可插拔的(Pluggable),根据应用的需要,只要配置一下JAAS的配置文件,这些组件即可包含在我们的应用程序中。使用JAAS包接口,开发者和第三方可以开发一些组件或者BEAN来实现登陆认证,或者通过与使用者或外部的系统的进行交互来访问认证信息(当然我们可以设计更为稳妥安全的密码学协议)。JAAS提供了一组用于用户鉴别的类和接口,这意味着支持JAAS的应用会要求用户登陆,同时 JAAS提供了另一组用于用户授权的类和接口。在讨论例子之前,先对JAAS API中常用的一些类和接口做个简单的说明。

LoginModule :确认用户的合法性(使用CallbackHandler或者其他类方法),并分配访问权限principal给subject;

LoginContext:为了实现用户鉴别,建立相应的环境,从配置文件中导入规则;

CallbackHandler:回调处理器,负责与用户(代码拥有者和执行者)交互,确认其身份的合法性;

Subject:表示登陆处理的目标,即一个被鉴别的用户。并可关联一个或多个pirncipal;

Principal:表示具有访问权限的一个实体,可以看作是可以执行某种操作的证件。

理解这些类和接口的关系我给个生动的比方:
一个军事学校,入学的时候校方(LoginModule)根据学生(Subject)的入学通知来确定其合法性,这个过程交由某工作人员(CallbackHandler)执行,
(CallbackHandler)确认后,(LoginModule)给不同(Subject)根据其身份发给相关的证件(Principal),有了该证件就可以访问对应的资源,
(Subject)根据自己的(Principal)的级别可以使用和访问学校不同资源。

 

Jaas Architecture

 

指定配置文件位置的方式:(按顺序)

1、系统变量

System.setProperty("java.security.auth.login.config","D://jaas.config");

2、启动命令参数

-Djava.security.auth.login.config=D:/jaas.config

 

另参考:

 

http://hi.baidu.com/dd_taiyangxue/blog/item/47e2932c077f8438359bf77b.html

 

JAAs授权

 

http://lzhuacuo.spaces.live.com/blog/cns!18730E989D068035!527.entry

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值