Skip to content

Commit

Permalink
MGR-113
Browse files Browse the repository at this point in the history
  • Loading branch information
madness-inc committed Jun 10, 2021
1 parent 3925bcf commit 3604e06
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 15 deletions.
1 change: 1 addition & 0 deletions application-home/dictionary/manager-messages.properties
Expand Up @@ -135,6 +135,7 @@ lastLogin=Last login
lastUpdated=Last updated
latestRelease=Latest release
latestSnapshot=Latest snapshot
ldap.disabled=LDAP Authentication is disabled. Set site property ''{0}'' to ''true'' to enable.
ldap.users=LDAP Users
ldap.settings=LDAP Settings
ldap.not.working=Unable to connect to LDAP server at {0}, please check configuration!
Expand Down
34 changes: 19 additions & 15 deletions src/main/java/org/appng/application/manager/business/LdapUsers.java
Expand Up @@ -77,23 +77,27 @@ public DataContainer getData(Site site, Application application, Environment env
fp.addErrorMessage(request.getMessage(MessageConstants.LDAP_NOT_WORKING, ldapHost.getString()));
}
} else {

List<LdapUser> users = new ArrayList<>();

List<SubjectImpl> globalGroups = coreService.getSubjectsByType(UserType.GLOBAL_GROUP);
for (SubjectImpl globalGroup : globalGroups) {
List<SubjectImpl> membersOfGroup = ldapService.getMembersOfGroup(site, globalGroup.getName());
users.addAll(membersOfGroup.stream().map(s -> new LdapUser(s.getName(), s.getEmail(), s.getRealname(),
UserType.GLOBAL_GROUP, globalGroup.getName())).collect(Collectors.toList()));
if (site.getProperties().getBoolean(LdapService.LDAP_DISABLED)) {
fp.addInvalidMessage(request.getMessage(MessageConstants.LDAP_DISABLED, LdapService.LDAP_DISABLED));
} else {
List<SubjectImpl> globalGroups = coreService.getSubjectsByType(UserType.GLOBAL_GROUP);
for (SubjectImpl globalGroup : globalGroups) {
List<SubjectImpl> membersOfGroup = ldapService.getMembersOfGroup(site, globalGroup.getName());
users.addAll(
membersOfGroup.stream()
.map(s -> new LdapUser(s.getName(), s.getEmail(), s.getRealname(),
UserType.GLOBAL_GROUP, globalGroup.getName()))
.collect(Collectors.toList()));
}
List<SubjectImpl> globalUsers = coreService.getSubjectsByType(UserType.GLOBAL_USER);
String userDn = siteProps.getString(LdapService.LDAP_ID_ATTRIBUTE) + "=%s,"
+ siteProps.getString(LdapService.LDAP_USER_BASE_DN);
users.addAll(globalUsers.stream().map(s -> {
return new LdapUser(s.getName(), s.getEmail(), s.getRealname(), s.getUserType(),
String.format(userDn, s.getName()));
}).collect(Collectors.toList()));
}
List<SubjectImpl> globalUsers = coreService.getSubjectsByType(UserType.GLOBAL_USER);
String userDn = siteProps.getString(LdapService.LDAP_ID_ATTRIBUTE) + "=%s,"
+ siteProps.getString(LdapService.LDAP_USER_BASE_DN);
users.addAll(globalUsers.stream().map(s -> {
return new LdapUser(s.getName(), s.getEmail(), s.getRealname(), s.getUserType(),
String.format(userDn, s.getName()));
}).collect(Collectors.toList()));

dataContainer.setPage(users, fp.getPageable(), true);
}
return dataContainer;
Expand Down
Expand Up @@ -53,6 +53,7 @@ protected List<Property> getSiteProperties(String prefix) {
siteProperties.add(new SimpleProperty(prefix + LdapService.LDAP_START_TLS, "false"));
siteProperties.add(new SimpleProperty(prefix + LdapService.LDAP_HOST, "ldap://localhost:389"));
siteProperties.add(new SimpleProperty(prefix + LdapService.LDAP_PRINCIPAL_SCHEME, "DN"));
siteProperties.add(new SimpleProperty(prefix + LdapService.LDAP_DISABLED, "true"));
return siteProperties;
}

Expand Down

0 comments on commit 3604e06

Please sign in to comment.