Explorar el Código

LDAP Synchronize fix

MaxKey hace 2 años
padre
commit
d00feb32ea

+ 5 - 1
maxkey-synchronizers/maxkey-synchronizer-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryOrganizationService.java

@@ -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];

+ 6 - 1
maxkey-synchronizers/maxkey-synchronizer-activedirectory/src/main/java/org/maxkey/synchronizer/activedirectory/ActiveDirectoryUsersService.java

@@ -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];

+ 6 - 1
maxkey-synchronizers/maxkey-synchronizer-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapOrganizationService.java

@@ -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];

+ 6 - 1
maxkey-synchronizers/maxkey-synchronizer-ldap/src/main/java/org/maxkey/synchronizer/ldap/LdapUsersService.java

@@ -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];