clean up code and add more detection

This commit is contained in:
Tyler Christiansen
2015-04-07 12:30:02 -07:00
parent cb5a62087e
commit b41605a13a

View File

@@ -32,8 +32,11 @@ function authenticate($username,$password)
{ {
$ldap_groups = get_group_list(); $ldap_groups = get_group_list();
foreach($ldap_groups as $ldap_group) { foreach($ldap_groups as $ldap_group) {
if (ldap_compare($ds, $ldap_group, $config['auth_ldap_groupmemberattr'], get_membername($username))===true) $ldap_comparison = ldap_compare($ds,
{ $ldap_group,
$config['auth_ldap_groupmemberattr'],
get_membername($username));
if($ldap_comparison === true) {
return 1; return 1;
} }
} }
@@ -158,8 +161,11 @@ function get_userlist()
$user_id = $entry['uidnumber'][0]; $user_id = $entry['uidnumber'][0];
$ldap_groups = get_group_list(); $ldap_groups = get_group_list();
foreach($ldap_groups as $ldap_group) { foreach($ldap_groups as $ldap_group) {
if (!isset($config['auth_ldap_group']) || ldap_compare($ds, $ldap_group, $config['auth_ldap_groupmemberattr'], get_membername($username))===true) $ldap_comparison = ldap_compare($ds,
{ $ldap_group,
$config['auth_ldap_groupmemberattr'],
get_membername($username));
if (!isset($config['auth_ldap_group']) || ldap_compare($ldap_comparison === true)) {
$userlist[] = array('username' => $username, 'realname' => $realname, 'user_id' => $user_id); $userlist[] = array('username' => $username, 'realname' => $realname, 'user_id' => $user_id);
} }
} }
@@ -206,9 +212,11 @@ function get_group_list() {
$ldap_groups = array(); $ldap_groups = array();
$default_group = 'cn=groupname,ou=groups,dc=example,dc=com'; $default_group = 'cn=groupname,ou=groups,dc=example,dc=com';
if(isset($config['auth_ldap_group'])) {
if($config['auth_ldap_group'] !== $default_group) { if($config['auth_ldap_group'] !== $default_group) {
array_push($ldap_groups, $config['auth_ldap_group']); array_push($ldap_groups, $config['auth_ldap_group']);
} }
}
foreach($config['auth_ldap_groups'] as $key => $value) { foreach($config['auth_ldap_groups'] as $key => $value) {
$dn = "cn=$key," . $config['auth_ldap_groupbase']; $dn = "cn=$key," . $config['auth_ldap_groupbase'];
array_push($ldap_groups, $dn); array_push($ldap_groups, $dn);