KEYCLOAK-214 view all users in a realm through admin console
This commit is contained in:
1 parent
36a20d15e1
commit
a423c38e42
6 files changed
+44
-24
No files matched your search
@@ -137,6 +137,8 @@ public interface RealmModel extends RoleContainerModel, RoleMapperModel, ScopeMa
|
||||
|
||||
public void setAutomaticRegistrationAfterSocialLogin(boolean automaticRegistrationAfterSocialLogin);
|
||||
|
||||
List<UserModel> getUsers();
|
||||
|
||||
List<UserModel> searchForUser(String search);
|
||||
|
||||
List<UserModel> searchForUserByAttributes(Map<String, String> attributes);
|
||||
|
||||
@@ -670,6 +670,15 @@ public class RealmAdapter implements RealmModel {
|
||||
em.flush();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserModel> getUsers() {
|
||||
TypedQuery<UserEntity> query = em.createQuery("select u from UserEntity u", UserEntity.class);
|
||||
List<UserEntity> results = query.getResultList();
|
||||
List<UserModel> users = new ArrayList<UserModel>();
|
||||
for (UserEntity entity : results) users.add(new UserAdapter(entity));
|
||||
return users;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserModel> searchForUser(String search) {
|
||||
TypedQuery<UserEntity> query = em.createQuery("select u from UserEntity u where u.realm = :realm and lower(u.loginName) like :search or lower(concat(u.firstName, ' ', u.lastName)) like :search or u.email like :search", UserEntity.class);
|
||||
|
||||
@@ -914,23 +914,28 @@ public class RealmAdapter implements RealmModel {
|
||||
getRelationshipManager().remove(relationship);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserModel> getUsers() {
|
||||
List<UserModel> userModels = new ArrayList<UserModel>();
|
||||
IdentityQuery<User> query = getIdm().createIdentityQuery(User.class);
|
||||
for (User u : query.getResultList()) {
|
||||
userModels.add(new UserAdapter(u, idm));
|
||||
}
|
||||
return userModels;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserModel> searchForUser(String search) {
|
||||
QueryParameter[] params = new QueryParameter[] { User.LOGIN_NAME, User.FIRST_NAME, User.LAST_NAME, User.EMAIL };
|
||||
|
||||
Map<String, User> users = new HashMap<String, User>();
|
||||
List<UserModel> userModels = new ArrayList<UserModel>();
|
||||
for (QueryParameter p : params) {
|
||||
IdentityQuery<User> query = getIdm().createIdentityQuery(User.class);
|
||||
query.setParameter(p, search.toLowerCase());
|
||||
for (User u : query.getResultList()) {
|
||||
users.put(u.getLoginName(), u);
|
||||
userModels.add(new UserAdapter(u, idm));
|
||||
}
|
||||
}
|
||||
|
||||
List<UserModel> userModels = new ArrayList<UserModel>();
|
||||
for (User user : users.values()) {
|
||||
userModels.add(new UserAdapter(user, idm));
|
||||
}
|
||||
return userModels;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user