LDAP without groups patch (Task #67)
darcs-hash:20050119185156-9977f-df12ad45548ce25c1f57ce6f71eb59a50ae8ba82.gz
This commit is contained in:
parent
352d17dc3c
commit
97ec4e01c3
|
@ -86,6 +86,7 @@ function auth_checkPass($user,$pass){
|
|||
* uid string Posix User ID
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
* @author Trouble
|
||||
*/
|
||||
function auth_getUserData($user){
|
||||
global $conf;
|
||||
|
@ -119,17 +120,22 @@ function auth_getUserData($user){
|
|||
//primary group id
|
||||
$gid = $result[0]['gidnumber'][0];
|
||||
|
||||
//get groups for given user
|
||||
$filter = "(&(objectClass=posixGroup)(|(gidNumber=$gid)(memberUID=".$info['uid'].")))";
|
||||
$sr = @ldap_search($conn, $cnf['grouptree'], $filter);
|
||||
if(!$sr){
|
||||
msg("LDAP: Reading group memberships failed",-1);
|
||||
return false;
|
||||
}
|
||||
$result = ldap_get_entries($conn, $sr);
|
||||
foreach($result as $grp){
|
||||
if(!empty($grp['cn'][0]))
|
||||
$info['grps'][] = $grp['cn'][0];
|
||||
//get groups for given user if grouptree is given
|
||||
if ($cnf['grouptree'] != '') {
|
||||
$filter = "(&(objectClass=posixGroup)(|(gidNumber=$gid)(memberUID=".$info['uid'].")))";
|
||||
$sr = @ldap_search($conn, $cnf['grouptree'], $filter);
|
||||
if(!$sr){
|
||||
msg("LDAP: Reading group memberships failed",-1);
|
||||
return false;
|
||||
}
|
||||
$result = ldap_get_entries($conn, $sr);
|
||||
foreach($result as $grp){
|
||||
if(!empty($grp['cn'][0]))
|
||||
$info['grps'][] = $grp['cn'][0];
|
||||
}
|
||||
}else{
|
||||
//if no groups are available in LDAP always return the default group
|
||||
$info['grps'][] = $conf['defaultgroup'];
|
||||
}
|
||||
return $info;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue