有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在KeyClope中通过属性key(key,value)获取用户?

我在我的Spring Boot应用程序中使用KeyClope管理客户端13.0.0。我可以从KeyClope获取所有用户。但我想通过移动、emu no或dept等属性获得用户

用户属性:

key - value
mobile - 9876543210
em_no - 12334
dept - IT

enter image description here


共 (1) 个答案

  1. # 1 楼答案

    我担心按属性值搜索将需要对用户实体进行全面扫描,如果用户数量庞大,则效率不高。考虑这个特点除了钥匙披风。如何在独立关系数据库模式中实现电话搜索?我想你应该在这个字段上添加索引。在这种情况下,您可以将自定义表添加到KeyClope模式,该模式将提供phone->;用户映射。参见此处(https://www.keycloak.org/docs/latest/server_development/#_extensions_jpa

    考虑到部门属性,我建议从属性切换到组。因此,您将拥有一组部门组(IT、会计等)并将用户加入相应的组。然后,您可以轻松地查询所需组的成员

    类似的方法也适用于角色。例如,如果值的数量有限,则可以将其定义为角色,并将适当的角色授予用户,而不是将此值附加为属性。按授予的角色进行查询也可以直接使用

    请注意,有很多不同的OIDC映射器可以帮助您添加描述的映射(无论这是属性、组还是角色)来访问令牌结构