首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

JAAS引见

2012-07-22 
JAAS介绍30人阅读?评论(0)??象。如果成功,它将创建一个经过了验证的Subject对象;否则抛出LoginException异

JAAS介绍

30人阅读?评论(0)??


象。如果成功,它将创建一个经过了验证的Subject对象;否则抛出LoginException
异常。
  getSubject () 返回经过验证的Subject对象
  logout () 注销Subject对象,删除与之相关的Principal对象和凭证
  验证:LoginModule
  LoginModule是调用特定验证机制的接口。J2EE 1.4中包含了下面几种LoginModule
的实现类:
  JndiLoginModule 用于验证在JNDI中配置的目录服务
  Krb5LoginModule 使用Kerberos协议进行验证
  NTLoginModul 使用当前用户在NT中的用户信息进行验证
  UnixLoginModule 使用当前用户在Unix中的用户信息进行验证
  同上面这些模块绑定在一起的还有对应的Principal接口的实现类,例如NTDomainPrincipal
和UnixPrincipal。这些类在com.sun.security.auth包中。
  LoginModule接口中包含了五个方法:
  initialize () 当创建一LoginModule实例时会被构造函数调用
  login () 进行验证
  commit () 当LgoninContext对象接受所有LoginModule对象传回的结果后
将调用该方法。该方法将Principal对象和凭证赋给Subject对象。
  
  abort () 当任何一个LoginModule对象验证失败时都会调用该方法。此时


没有任何Principal对象或凭证关联到Subject对象上。
  logout () 删除与Subject对象关联的Principal对象和凭证。
  在应用程序的代码中,程序员通常不会直接调用上面列出的方法,而是通
过LigonContext间接调用这些方法。
  验证:CallbackHandler和Callback
  CallbackHandler和Callback对象可以使LoginModule对象从系统和用户那
里收集必要的验证信息,同时独立于实际的收集信息时发生的交互过程。
  
  JAAS在javax.sevurity.auth.callback包中包含了七个Callback的实现类
和两个CallbackHandler的实现类:ChoiceCallback、ConfirmationCallback、
LogcaleCallback、NameCallback、PasswordCallback、TextInputCallback、
TextOutputCallback、DialogCallbackHandler和TextCallBackHandler。Callback
接口只会在客户端会被使用到。我将在后面介绍如何编写你自己的CallbackHandler
类。

?

热点排行