进行信任验证的身份断言

如果您希望应用程序或系统提供程序通过信任验证来执行身份断言,那么可以通过使用 Java™ 认证和授权服务 (JAAS) 登录框架来完成此操作,其中在一个登录模块中执行信任验证,并在另一个登录模块中创建凭证。 这两个定制登录模块用来创建一个 JAAS 登录配置,该登录配置执行至身份断言的登录。

需要两个定制登录模块:
  • 用户实现的信任关联登录模块。 此登录模块执行用户需要的任何类型的信任验证。 进行信任验证时,必须将信任验证状态和登录标识放入登录模块的一个共享图中,以使凭证创建登录模块可以使用该信息。 必须将该图存储在 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state 属性中。 状态图包含下列信息:
    • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted - 如果可信,那么设置为 true;如果不可信,那么设置为 false
    • com.ibm.wsspi.security.common.auth.module.IdenityAssertionLoginModule.principal - 包含标识的主体。
    • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates - 包含标识的证书。
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule 模块负责创建凭证。 它要求信任状态信息处于登录上下文的共享状态。 此登录模块受以下对象的 Java 2 安全性运行时许可权保护:
    • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.initialize
    • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.login
IdentityAssertionLoginModule 在共享状态属性 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state 中搜索信任信息。 这是一个包含信任状态和用来登录的标识的图。 该图包含下列各项:
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted - 如果可信,那么设置为 true;如果不可信,那么设置为 false
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal - 如果使用了主体,那么它包含登录时所需要的标识的主体。
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates - 如果使用了证书,那么它包含一组证书链,证书链中包含登录时所需要的标识。

如果缺少状态、信任或标识信息,那么会返回 WSLoginFailedException。 然后登录模块将对标识执行登录。 现在,主体集中就包含了新标识。