我已经设置了密钥斗篷,以便从openldap服务器导入用户。作为测试运行,我使用了默认的h2来查看是否可以运行它。它正确连接并进行身份验证。一旦我点击了“同步所有用户”,它就会报告成功x导入的用户,0个更改的用户。进入Manage => Users并单击View all Users之后,它仅显示通用用户名用户,电子邮件为user@user.com。
我从server.log获得的唯一信息是以下警告消息。
我不确定该如何解决。我应该在其他地方寻找错误消息还是应该尝试其他事情?
2018-12-19 15:56:31,209警告[org.keycloak.models.sessions.infinispan.changes.InfinispanChangelogBasedTransaction](默认任务7)不存在键LoginFailureKey [realmId = namis]的缓存项。 userId = 14ed02d1-3ac3-4911-a377-80863f2bde70]
更新:
我在导入后检查了user_entity表,并且用户在那里。我转到“管理用户”后,该领域的用户将从数据库中消失。
我打开了跟踪级别的日志记录并找到了错误消息 [org.keycloak.storage.UserStorageManager](默认任务1)已删除无效用户“ John Doe”
我搜索了源代码,发现函数importValidation,该函数调用删除用户的函数。当存储提供者为null或在用户和领域上调用validate并返回null UserModel时,似乎会发生这种情况。
答案 0 :(得分:1)
我今天也遇到了这个问题,因为用户名属性已经从“用户联合身份验证”设置中的“用户名LDAP”属性中映射出来,所以有可能完全删除用户名映射器。
答案 1 :(得分:0)
事实证明,我的映射器之一不正确。用户名映射器未映射到正确的ldap属性。