使用 JAAS 来启用带有信任验证的身份断言

通过启用带有信任验证的身份断言,应用程序可以使用 JAAS 登录配置来执行程序化身份断言。

关于此任务

要启用带有信任验证的身份断言,请遵循以下步骤:

过程

  1. 创建定制登录模块以执行信任验证。 登录模块必须在在共享状态下设置信任和标识信息,然后将该信息传递到 IdentityAssertionLoginModule。信任和标识信息以共享状态存储在键 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state 下的映射中。如果此键未处于共享状态,那么 IdentityAssertionLoginModule 模块会抛出 WSLoginFailedException 错误。定制登录模块应包括以下各项:
    • 名为 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted 的信任键。 如果信任键设为 true,那么会建立信任。如果信任键设为 false,那么 IdentityAssertionLoginModule 模块会产生 WSLoginFailedException 错误。
    • 在 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal 键中设置的、类型为 java.security.Principal 的标识。
    • 在 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates 键中设置的、格式为 java,security.cert.X509Certificate[] 证书的标识。
    注: 如果提供了主体和证书,那么会使用该主体,并发出一条警告。
  2. 为应用程序登录创建新的 Java™ 认证和授权服务 (JAAS) 配置。 它包含用户实现的信任验证定制登录模块和 IdentityAssertionLoginModule 模块。要从管理控制台配置应用程序登录配置,请完成以下步骤:
    1. 单击安全性 > 全局安全性
    2. 在“Java 认证和授权服务”下,单击应用程序登录 > 新建
    3. 为 JAAS 配置提供一个别名,然后单击应用
    4. 在“其他属性”下,单击 JAAS 登录模块 > 新建
    5. 输入用户实现的信任验证定制登录模块的模块类名,然后单击应用
    6. 输入 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule 模块类名。
    7. 确保模块类名类的顺序正确。用户实现的信任验证登录模块必须是列表中的第一个类,IdentityAssertionLoginModule 模块必须是第二个类。
    8. 单击保存。应用程序将使用新的 JAAS 配置执行身份断言。

下一步做什么

应用程序现在可以使用 JAAS 登录配置来执行程序化身份断言。应用程序可以为步骤 2 中创建的 JAAS 配置创建登录上下文,然后使用此配置所声明的标识登录该登录上下文。如果登录成功,那么可以在当前运行的进程中设置该标识,如以下示例中所示:
MyCallbackHandler handler = new MyCallbackHandler(new MyPrincipal(“Joe”));
LoginContext lc = new LoginContext(“MyAppLoginConfig”, handler);
lc.login();  //assume successful
Subject s = lc.getSubject();
WSSubject.setRunAsSubject(s);
// From here on, the runas identity is “Joe”

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_identity_assert
文件名:tsec_identity_assert.html