From 527c83e1485eeb1e8b58b00353e3fd11a5866459 Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Sun, 6 Jul 2014 02:19:31 +0200 Subject: [PATCH] Actually works --- wpDirAuth.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/wpDirAuth.php b/wpDirAuth.php index 4eaf6a3..822209a 100644 --- a/wpDirAuth.php +++ b/wpDirAuth.php @@ -473,6 +473,9 @@ else { /** * We need to get the DN's for each Authentication Group CN that was given to us. */ + + // 2014-07-06 Nikolai R Kristiansen + // Modified for posixGroup lookup $aryAuthGroupsDN = array(); $aryAuthGroups = explode(',',$strAuthGroups); $aryAttribs = array('distinguishedname'); @@ -481,23 +484,20 @@ else { $rscLDAPSearch = ldap_search($connection,$baseDn,$strAuthGroup,$aryAttribs); $arySearchResults = ldap_get_entries($connection,$rscLDAPSearch); if(isset($arySearchResults[0]['dn'])){ - $aryAuthGroupsDN[] = $arySearchResults[0]['dn']; + $aryAuthGroupsDN[] = $strAuthGroup; } } if(count($aryAuthGroupsDN) == 0){ return new WP_Error('no_auth_groups_found',$errorTitle.__('No Authentication Groups found based on given group CN')); } - - // 2014-07-06 Nikolai R Kristiansen - // Modify for posixGroup lookup // (&(memberUid=nikolark)(cn=dns-aktiv)) // TODO configurable memberUid and cn - $memberFilterquery = "(memberUid=$username)"; - $strFilterQuery = '(&'.$memberfilterQuery.'(|'; + $memberFilterQuery = "(memberUid=$username)"; + $strFilterQuery = '(&'.$memberFilterQuery.'(|'; foreach($aryAuthGroupsDN as $strAuthGroupDN){ - $strFilterQuery .= '(cn='.$strAuthGroupDN.')'; + $strFilterQuery .= "($strAuthGroupDN)"; } $strFilterQuery .= '))'; if(($rscLDAPSearchGroupMember = ldap_search($connection,$baseDn,$strFilterQuery)) !== false){