HOR-623 "El feature enterprise 'LdapAdvanced' no retorna todos lo objetos" SOLVED

Issue:
    El feature enterprise "LdapAdvanced" no retorna todos lo objetos
Cause:
    En el server ActiveDirectory se tiene mas de 1000 departamentos
Solution:
    Se completo el uso de la funcion "ldap_control_paged_result" en:
        - ADMIN > Users > AuthenticationSources > SynchronizeDepartments
        - ADMIN > Users > AuthenticationSources > SynchronizeGroups
Note:
    Los AuthenticationSources ya registrados deberan ser editados (no hacer cambios) y guardados nuevamente
This commit is contained in:
Victor Saisa Lopez
2016-04-14 13:15:17 -04:00
parent a51721f684
commit ca8a74fdf7
3 changed files with 230 additions and 175 deletions

View File

@@ -149,7 +149,25 @@ switch ($function) {
unset($aData['AUTH_SOURCE_GRID_ATTRIBUTE']);
unset($aData['AUTH_SOURCE_SHOWGRID']);
}
$aFields['AUTH_SOURCE_DATA'] = $aData;
//LDAP_PAGE_SIZE_LIMIT
$ldapAdvanced = new ldapAdvanced();
try {
$arrayAuthenticationSourceData = $aFields;
$arrayAuthenticationSourceData['AUTH_SOURCE_VERSION'] = 3;
$aFields['AUTH_SOURCE_DATA']['LDAP_PAGE_SIZE_LIMIT'] = $ldapAdvanced->getPageSizeLimit(
$ldapAdvanced->ldapConnection($arrayAuthenticationSourceData),
$arrayAuthenticationSourceData['AUTH_SOURCE_BASE_DN']
);
} catch (Exception $e) {
$aFields['AUTH_SOURCE_DATA']['LDAP_PAGE_SIZE_LIMIT'] = $ldapAdvanced->getPageSizeLimit(false);
}
//Save
if ($aFields['AUTH_SOURCE_UID'] == '') {
$RBAC->createAuthSource( $aFields );
} else {
@@ -327,6 +345,7 @@ switch ($function) {
}
$arrayAuthenticationSourceData = $_POST;
$arrayAuthenticationSourceData['AUTH_SOURCE_VERSION'] = 3;
//Test connection
$ldapAdvanced = new ldapAdvanced();