keycloak - Keycloak 说它导入用户但他们没有出现
问题描述
我已经设置了 keycloak 来从 openldap 服务器导入用户。作为测试运行,我使用默认的 h2 来查看是否可以运行它。它正确连接和验证。一旦我点击同步所有用户,它会报告成功 x 个导入的用户,0 个更改的用户。进入 Manage=>Users 并单击 View all Users 后,它只显示一个带有电子邮件 user@user.com 的通用用户名用户。
我从 server.log 获得的唯一信息是下面的警告消息。
我不确定要寻找什么方向来解决这个问题。是否有其他地方我应该寻找错误消息或我应该尝试的其他事情?
2018-12-19 15:56:31,209 WARN [org.keycloak.models.sessions.infinispan.changes.InfinispanChangelogBasedTransaction](默认任务 7)不存在键 LoginFailureKey [ realmId=namis 的缓存项。用户 ID=14ed02d1-3ac3-4911-a377-80863f2bde70]
更新:
导入后我检查了 user_entity 表,用户在那里。一旦我转到管理用户,领域中的用户就会从数据库中消失。
我打开了跟踪级别日志记录,发现错误消息 [org.keycloak.storage.UserStorageManager] (default task-1) Removed invalid user 'John Doe'
我搜索了源代码并找到了函数importValidation,它调用了删除用户的函数。当存储提供程序为 null 或在用户和领域上调用 validate 并返回 null UserModel 时,似乎会发生这种情况。
解决方案
我今天也遇到了这个问题,可以完全删除用户名映射器,因为用户名属性已经从用户联合设置中的用户名 LDAP 属性映射。
推荐阅读
- sql - 运行总计 - 日期差异
- c++ - QT将不同类的信号和插槽连接到主窗口类?
- javascript - ReactJs 中的 list: {[id]:array1} 和 list: {...state.list, [id]:array1} 有什么区别?
- jquery-select2 - select2 不显示数据
- wpf - 限制 ListView / GridView 中的行数
- maven - 在项目文件夹之外提供静态内容
- javascript - 使用 break on click 停止循环
- onedrive - 用户无法访问 OneDrive 上的 PWA 应用数据存储在哪里?
- mysql - 在 mysql 中运行 PASSWORD 函数时出现错误 1064
- .net - SF windows 上的 Linux docker 镜像