LDAP Synchronize fix

This commit is contained in:
MaxKey 2022-09-09 20:49:54 +08:00
parent 03a8ae6f04
commit d00feb32ea
4 changed files with 23 additions and 4 deletions

View File

@ -180,7 +180,11 @@ public class ActiveDirectoryOrganizationService extends AbstractSynchronizerSer
try {
Organizations org = new Organizations();
org.setLdapDn(nameInNamespace);
String []namePaths = name.replaceAll(",OU=", "/").replaceAll("OU=", "/").split("/");
String []namePaths = name.replaceAll(",OU=" , "/")
.replaceAll("OU=" , "/")
.replaceAll(",ou=" , "/")
.replaceAll("ou=" , "/")
.split("/");
String namePah= "/"+rootOrganization.getOrgName();
for(int i = namePaths.length -1 ; i >= 0 ; i --) {
namePah = namePah + "/" + namePaths[i];

View File

@ -119,7 +119,12 @@ public class ActiveDirectoryUsersService extends AbstractSynchronizerService
UserInfo userInfo = new UserInfo();
userInfo.setLdapDn(nameInNamespace);
String []namePaths = name.replaceAll(",OU=", "/").replaceAll("OU=", "/").split("/");
String []namePaths = name.replaceAll(",OU=" , "/")
.replaceAll("OU=" , "/")
.replaceAll(",ou=" , "/")
.replaceAll("ou=" , "/")
.split("/");
String namePah= "/"+rootOrganization.getOrgName();
for(int i = namePaths.length -1 ; i >= 0 ; i --) {
namePah = namePah + "/" + namePaths[i];

View File

@ -174,7 +174,12 @@ public class LdapOrganizationService extends AbstractSynchronizerService implem
try {
Organizations org = new Organizations();
org.setLdapDn(nameInNamespace);
String []namePaths = name.replaceAll(",OU=", "/").replaceAll("OU=", "/").split("/");
String []namePaths = name.replaceAll(",OU=" , "/")
.replaceAll("OU=" , "/")
.replaceAll(",ou=" , "/")
.replaceAll("ou=" , "/")
.split("/");
String namePah= "/"+rootOrganization.getOrgName();
for(int i = namePaths.length -1 ; i >= 0 ; i --) {
namePah = namePah + "/" + namePaths[i];

View File

@ -52,6 +52,7 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS
constraints.setSearchScope(ldapUtils.getSearchScope());
String filter = StringUtils.isNotBlank(this.getSynchronizer().getFilters()) ?
getSynchronizer().getFilters() : "(&(objectClass=inetOrgPerson))";
_logger.debug(" User filter {} ",filter);
NamingEnumeration<SearchResult> results =
ldapUtils.getConnection().search(ldapUtils.getBaseDN(), filter, constraints);
@ -110,7 +111,11 @@ public class LdapUsersService extends AbstractSynchronizerService implements IS
public UserInfo buildUserInfo(HashMap<String,Attribute> attributeMap,String name,String nameInNamespace) {
UserInfo userInfo = new UserInfo();
userInfo.setLdapDn(nameInNamespace);
String []namePaths = name.replaceAll(",OU=", "/").replaceAll("OU=", "/").split("/");
String []namePaths = name.replaceAll(",OU=" , "/")
.replaceAll("OU=" , "/")
.replaceAll(",ou=" , "/")
.replaceAll("ou=" , "/")
.split("/");
String namePah= "/"+rootOrganization.getOrgName();
for(int i = namePaths.length -1 ; i >= 0 ; i --) {
namePah = namePah + "/" + namePaths[i];