summaryrefslogtreecommitdiffstats
path: root/etc/inc/auth.inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2007-12-29 01:10:45 +0000
committerScott Ullrich <sullrich@pfsense.org>2007-12-29 01:10:45 +0000
commit4e8ead5eb0036a34bcecd495f6b38b1cda2b2dbd (patch)
treeb0dec394de590b0fd8535dbc45d191cf6c905f4c /etc/inc/auth.inc
parente6c18b271c9cc58acbfd2021c099c02af23fbec4 (diff)
downloadpfsense-4e8ead5eb0036a34bcecd495f6b38b1cda2b2dbd.zip
pfsense-4e8ead5eb0036a34bcecd495f6b38b1cda2b2dbd.tar.gz
Ignore ldap items for locally defined users.
Work sponsored-by: Centipede Networks <http://centipedenetworks.com/>
Diffstat (limited to 'etc/inc/auth.inc')
-rw-r--r--etc/inc/auth.inc31
1 files changed, 18 insertions, 13 deletions
diff --git a/etc/inc/auth.inc b/etc/inc/auth.inc
index 52f0922..95df120 100644
--- a/etc/inc/auth.inc
+++ b/etc/inc/auth.inc
@@ -68,14 +68,17 @@ function getAllowedGroups($logged_in_user) {
$fdny = fopen("/tmp/groups","w");
fwrite($fdny, print_r($allowed, true));
fclose($fdny);
- foreach($config['system']['group'] as $group) {
- if(in_array($group['name'], $allowed_groups)) {
- foreach($group['pages'] as $page) {
- $allowed[] = $page;
- }
+ if(is_array($config['system']['group']) && is_array($allowed_groups)) {
+ foreach($config['system']['group'] as $group) {
+ if(in_array($group['name'], $allowed_groups)) {
+ foreach($group['pages'] as $page) {
+ $allowed[] = $page;
+ }
+ }
}
}
- return $allowed;
+ if(count($allowed)>1)
+ return $allowed;
}
$final_allowed = array();
@@ -641,13 +644,15 @@ function ldap_get_groups($username) {
$search = ldap_search($ldap, $ldapsearchbase, $ldapfilter, array('memberOf'));
$info = ldap_get_entries($ldap, $search);
-
- foreach($info[0]['memberof'] as $member) {
- if(strstr($member, "CN=") !== false) {
- $membersplit = split(",", $member);
- $memberof[] = str_replace("CN=", "", $membersplit[0]);
- }
- }
+
+ if(is_array($info[0]['memberof'])) {
+ foreach($info[0]['memberof'] as $member) {
+ if(strstr($member, "CN=") !== false) {
+ $membersplit = split(",", $member);
+ $memberof[] = str_replace("CN=", "", $membersplit[0]);
+ }
+ }
+ }
/* Time to close LDAP connection */
ldap_close($ldap);
OpenPOWER on IntegriCloud