Single sign on Liberty LTPA SSO配置失败,出现com.ibm.ws.security.registry.EntryNotFoundException

Single sign on Liberty LTPA SSO配置失败,出现com.ibm.ws.security.registry.EntryNotFoundException,single-sign-on,websphere-liberty,ltpa,Single Sign On,Websphere Liberty,Ltpa,我正在使用LTPA令牌在IBM ISAM和LIberty概要文件之间构建SSO,ISAM配置了LDAP身份验证,并且我已将相同的LDAP用户添加到LIberty server.xml基本注册表中。现在,在ISAM身份验证之后,我无法看到my liberty,我在liberty日志中看到以下错误 堆栈跟踪堆栈转储=com.ibm.ws.security.registry.EntryNotFoundException:cn=f4a3e7df53e9caf8dfd3,o=xxx,c=us,dc=xxx

我正在使用LTPA令牌在IBM ISAM和LIberty概要文件之间构建SSO,ISAM配置了LDAP身份验证,并且我已将相同的LDAP用户添加到LIberty server.xml基本注册表中。现在,在ISAM身份验证之后,我无法看到my liberty,我在liberty日志中看到以下错误

堆栈跟踪堆栈转储=com.ibm.ws.security.registry.EntryNotFoundException:cn=f4a3e7df53e9caf8dfd3,o=xxx,c=us,dc=xxx,dc=com不存在于com.ibm.ws.security.registry.basic.internal.BasicRegistry.getUserSecurityName(BasicRegistry.java:506)com.ibm.ws.security.authentication.jaas.modules.TokenLoginModule.setUpTemporaryUserSubject(TokenLoginModule.java:130)com.ibm.ws.security.authentication.jaas.modules.TokenLoginModule.login(TokenLoginModule.java:76)com.ibm.ws.kernel.boot.security.LoginModuleProxy.login(LoginModuleProxy.java:53)at

配置详细信息
  • 在liberty ltpa.keys中,领域是“com.ibm.websphere.ltpa.realm=BasicRealm”,这就是上面的连接中使用的内容

  • 在server.xml中

    basicRegistry id=“basic”realm=“basicrelm” user name=“loginID=user@mail.com,cn=f4a3e7df53e9caf8dfd3,o=xxx,c=xx,dc=xxx,dc=com“password=”qazwsx1234“

    基础地理学 webApplication contextRoot=“my demo”id=“MyDemo”location=“MyDemo.war”name=“MyDemo” 应用程序bnd 安全角色名称=“LDAPUsersRole” 组名称=“LDAPgroupUsers” 安全角色 应用程序bnd 网络应用

  • 我觉得ltpa2token传递给了liberty,我可以从下面的日志中看到它,所以它一定与我在server.xml中提到的basicRegistry中配置用户模式的方式有一些问题。。。。有线索吗

    对象类型=com.ibm.ws.security.authentication.jaas.modules.TokenLoginModule tc=class com.ibm.websphere.ras。TraceComponent@8f59a5c2 字符串[0]=“TraceComponent[com.ibm.ws.security.authentication.jaas.modules.TokenLoginModule,类com.ibm.ws.security.authentication.jaas.modules.TokenLoginModule[authentication],com.ibm.ws.security.authentication.internal.resources.AuthenticationMessages,null]” accessId=“用户:基本密码/cn=f4a3e7df53e9caf8dfd3,o=xxx,c=us,dc=xxx,dc=com” 重新创建dtoken=class com.ibm.ws.security.token.ltpa.internal。LTPAToken2@255023a9
    tc=class com.ibm.websphere.ras。TraceComponent@cb94b8a1

    我在LDAP中查询了用户,并添加了与server.xml中相同的模式(name=“cn=f4a3e7df53e9caf8dfd3,o=xxx,c=xx,dc=xxx,dc=com) 然后它成功了


    感谢Tamboli。

    为什么不使用相同的LDAP服务器(ISAM中使用的)进行Liberty(server.xml)配置?请尝试使用相同的LDAP注册表进行Liberty服务器,而不是使用基本注册表。谢谢。LDAP连接有问题,因此在继续使用LDAP之前,您希望尝试使用基本注册表中的特定用户。
    group name="LDAPgroupUsers"
        member name="loginID=user@mail.com,cn=f4a3e7df53e9caf8dfd3,o=xxx,c=xx,dc=xxx,dc=com"
    group