可使用标准 Kerberos 主体名称(而不是使用简单映射或创建您自己的定制 JAAS 定制登录模块)以进行授权。
关于此任务
以下步骤极少使用,只有明确选择不使用简单映射(这是缺省配置)的用户或选择不添加 JAAS 定制登录模块以将标准 Kerberos 主体名称映射至 Liberty 概要文件服务器用户注册表中用户的用户才使用这些步骤。此任务允许您使用标准 Kerberos 主体名称以进行授权。
过程
- 通过将 trimKerberosRealmNameFromPrincipal 属性设置为 false,配置 SPNEGO 认证以不在标准 Kerberos 主体名称中删除 Kerberos 域名。
- 配置 Liberty 概要文件服务器以使用独立 LDAP 或联合存储库。
有关如何配置 LDAP 的更多信息,请参阅使用 Liberty 概要文件配置 LDAP 用户注册表。
- 请确保 LDAP 用户注册表中存在 Active Directory 用户并且此用户具有相关联的单个 userPrincipalName 属性。
- 在 server.xml 文件中更新 LDAP 过滤器以搜索 userPrincipalName,如以下示例中所示:
<activedLdapFilterProperties id="myactivedfilters"
userFilter="(&(userPrincipalName=%v))"
groupFilter="(&(cn=%v))"
userIdMap="*:userPrincipalName"
groupIdMap="*:cn"
groupMemberIdMap="ibm-allGroups:member">
</activedLdapFilterProperties>
- 为对应应用程序配置应用程序绑定以使用标准 Kerberos 主体名称(作为用户名)和正确配置的 access-id。例如:
<application type="war" id="myApp" name="myApp" location="${server.config.dir}/apps/myApp.war">
<application-bnd>
<security-role name="Employee">
<user name="kevin@MYDOMAIN.EXAMPLE.COM" access-id="CN=kevin,CN=Users,DC=MYDOMAIN,DC=EXAMPLE,DC=COM"/>
...
</security-role>
...
</application-bnd>
</application>