WebSphere Application Server 认证过程基于 javax.security.auth.login.LoginContext 中定义的机制。在此认证过程中,WebSphere Application Server 会提供实现 javax.security.auth.spi.LoginModule SPI 接口的登录模块。登录模块负责认证登录主体。
在 javax.security.auth.login.Configuration Java 类中,使用 WebSphere Application Server 定义的名称 WSLogin 配置 WebSphere Application Server LoginModule。要启动认证过程,请使用 LoginModule 名称 WSLogin 实例化新的 javax.security.auth.login.LoginContext 对象。通过此指定名称调用 WebSphere Application Server LoginModule,以调用用户注册表 API 来对登录主体进行认证。如果已作为 Trust Authority Interceptor (TAI) 的一部分提供了标识和组成员资格,那么 WebSphere Application Server LoginModule 可能会忽略对用户注册表的调用。主题的唯一标识会存储在主题的 WSCredential 中。基于 virtual member manager 实例的访问控制依赖主体的唯一标识和组成员资格来确定基于角色映射和规则的访问。标识可以来自以下源:
由于 Virtual member manager 可以管理登录帐户,并提供用户注册表接口来对用户进行认证,因此 virtual member manager 会将用户同时视为主题和资源。基于 virtual member manager 实例的访问控制引擎使经过认证的主题有权访问 virtual member manager 中的资源。在某些情况下,主题和资源是相同的。下面是自助密码规则的示例:
该规则假定将 virtual member manager 配置为用于 WebSphere Application Server 认证的用户注册表。但是,您可以使用其他形式的可能不使用 virtual member manager 标识的认证(CUR、LDAP UR、TAI 插件)。如果发生这种情况,并且还在 virtual member manager 下将非 virtual member manager 认证方法使用的同一存储库配置为 virtual member manager 存储库,那么 virtual member manager 会识别用于构建主题的 Account 对象。
如果使用非 virtual member manager 认证平台中的标识构建 virtual member manager 访问控制策略,那么基于 virtual member manager 角色的访问控制将会起作用,但不会对涉及 Person 或 Account 对象的基于规则的访问策略授予许可权。