JAAS 认证过程

JAAS 认证过程

如上图所示,JAAS 认证过程分如下几个步骤:

1. 实例化一个 javax.security.auth.login.LoginContext 对象,它负责协调认证过程。该过程可用如下代码描述:

LoginContext lc = new LoginContext(name, new CallbackHandler());
  • name 指向安全配置文件jaas.config中 loginModule 的名字
  • CallbackHandler 用于处理 loginModule 传入的 callbacks

2. LoginContext 获取安全配置文件jaas.config,实例化 Configuration 对象。如下为一个安全配置文件示例:

UsernamePassword {
   javax.security.examples.auth.spi.UsernamePasswordLoginModule required debug=true;
};

它通过系统参数传入:

-Djava.security.auth.login.config=jaas.config

3. LoginContext 通过 javax.security.auth.login.Configuration 对象获取 LoginModule 实例列表。通常 Configuration 对象的实现在实例化过程中加载解析配置文件。

4. Configuration 对象返回 LoginModule 实例列表

5. 客户端代码调运 LoginContext 的 login 方法

6. LoginContext 根据 Configuration 对象返回 LoginModule 实例列表,实例化 LoginModule。

7. LoginContext 调运 LoginModule 的 initialize 方法

扫描二维码关注公众号,回复: 10080263 查看本文章

8. LoginContext 调运 LoginModule 的 login 方法

9. LoginContext 调运 LoginModule 的 commit 方法

10. 认证的信息被保存在 Subject 中

发布了544 篇原创文章 · 获赞 633 · 访问量 116万+

猜你喜欢

转载自blog.csdn.net/asdfsadfasdfsa/article/details/104526075