Wim模型消息的跟踪日志中的Liberty登录错误 - ClassCastException Entity和LoginAccount

问题描述 投票:0回答:1

我已将Websphere Liberty配置为使用LDAP对用户进行身份验证。我启用了安全跟踪 -

com.ibm.ws.security =所有:。com.ibm.ws.webcontainer.security =所有:com.ibm.oauth =所有:com.ibm.wsspi.security.oauth20 =所有:com.ibm。 ws.transport.http =所有:。org.apache.http.client =所有

我在WebSphere Liberty v17.0.0.3webProfile-7.0javaMail-1.5ldapRegistry-3.0localConnector-1.0中启用了以下功能列表。

但是,安全内容失败,出现错误HTTP 401(未经身份验证)。在跟踪文件中,我可以看到LDAP能够返回登录的用户数据。但WebSphere Liberty失败并出现错误 -

com.ibm.wsspi.security.wim.model.Entity与com.ibm.wsspi.security.wim.model.LoginAccount不兼容java.lang.ClassCastException:com.ibm.wsspi.security.wim.model.Entity与com不兼容位于com.ibm.ws.security.wim.registry的com.ibm.ws.security.wim.registry.util.SecurityNameBridge.getUserSecurityName(SecurityNameBridge.java:203)中的.ibm.wsspi.security.wim.model.LoginAccount。 WIMUserRegistry.getUserSecurityName(WIMUserRegistry.java:316)at com.ibm.ws.security.authentication.internal.jaas.modules.ServerCommonLoginModule.getSecurityName(ServerCommonLoginModule.java:104)

如果此错误是由于任何配置问题引起的,请帮助指导。

security websphere websphere-liberty open-liberty
1个回答
0
投票

在更正使用的注册表配置后,问题得以解决。我使用的是LDAP注册表,并将LDAP服务器类型称为Tivoli。这导致从LDAP返回的Subject类中的问题与Liberty中的预期类不匹配。将LDAP服务类型更改为“自定义”后,此错误已得到解决。下面是我在server.xml中使用的LDAP注册表的标记

<ldapRegistry baseDN="ou=xxxxxxxx,o=xxxxxx" host="xxxxxxxxxxxxxxx" id="xxxxxxxxxxx" ldapType="Custom" port="636" realm="xx" recursiveSearch="true" sslEnabled="true" sslRef="sslrepo1">
    <customFilters userFilter="(&amp;(mail=%v)(objectclass=ePerson))" userIdMap="*:mail"/>
</ldapRegistry>
© www.soinside.com 2019 - 2024. All rights reserved.