小编mic*_*tmi的帖子

从 Java 代码在 Keycloak 中搜索用户

我正在使用 Spring Boot、Keycloak 10、java 8 和 keycloak-admin-client jar。我能够获得用户、他的组和角色。

在搜索方面,我看到不同的搜索方法选项,例如我可以:

 List<UserRepresentation> search = getKeycloakInstance().realm("my-realm").users()
                .search("username");
Run Code Online (Sandbox Code Playgroud)

https://www.keycloak.org/docs-api/10.0/javadocs/org/keycloak/admin/client/resource/UsersResource.html

但是我需要做的是编写几个方法:

  • 按角色搜索(因此搜索具有某些角色的用户)

  • 按组和组属性搜索

  • 以“包含”方式按文本(名字、姓氏、电子邮件)搜索:mytext

  • 按角色和文本搜索

  • 按 id 列表搜索(用户的 uuid)

我在 keycloak-admin-client 中没有看到这种可能性,或者我应该使用什么来代替 keycloak-admin-client ?

java spring-boot keycloak

5
推荐指数
1
解决办法
4321
查看次数

javac:目标版本7与默认源版本1.8冲突

我正在玩javac而且我无法将简单的java类编译为1.7版本.

C:\Tests>javac -target 7 GreetingsUniverse.java -nowarn
javac: target release 7 conflicts with default source release 1.8

C:\Tests>javac -version
javac 1.8.0_73
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

java

3
推荐指数
1
解决办法
1万
查看次数

带有 NOT EXISTS 的 SQL 查询非常慢

我正在使用以下查询将人员从视图迁移到我的数据库,这太慢了:

SELECT DISTINCT PI.VALUE ID
FROM PERSON_VIEW PERV
    inner join PERSON_IDENT PI on PI.VALUE = PERV.IDENTITY
    inner join PERSON PER on PER.ID = PI.EXTERNAL_ID
WHERE NOT EXISTS (SELECT RECORD_ID FROM PERSON_MIGR_DATA PMD
                  WHERE RECORD_ID = PERV.RECORD_ID)
  AND NOT EXISTS (SELECT RECORD_ID FROM PERSON_MIGR_ERRORS
                  WHERE RECORD_ID = PERV.RECORD_ID)
Run Code Online (Sandbox Code Playgroud)

连接字段上有索引,但我必须更改此查询,因为它持续 15 分钟。表非常大。

所以。我有PERSON_VIEW-我从中读取了要迁移PERSON_MIGR_DATA的人员,PERSON_MIGR_ERRORS-迁移人员的ID ,以及- 在迁移过程中未通过验证的人员的记录 ID。

我认为, NOT EXIST 是瓶颈。但是如何进行此查询以使其更快?

sql oracle

2
推荐指数
1
解决办法
2490
查看次数

标签 统计

java ×2

keycloak ×1

oracle ×1

spring-boot ×1

sql ×1