X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=WEB-INF%2Flib%2Fauth%2FAuth_ldap.class.php;h=37101678e6dab1bb5e1f5c66e75f95a399503927;hb=ac5189157ef60820dd125400baee9f408a9ba2ea;hp=25d375bc992379c6570e20d9396dbafdc08e1390;hpb=806dde3c7931d1a0d13c4f0469013a79e6198dcc;p=timetracker.git diff --git a/WEB-INF/lib/auth/Auth_ldap.class.php b/WEB-INF/lib/auth/Auth_ldap.class.php index 25d375bc..37101678 100644 --- a/WEB-INF/lib/auth/Auth_ldap.class.php +++ b/WEB-INF/lib/auth/Auth_ldap.class.php @@ -51,7 +51,7 @@ class Auth_ldap extends Auth { var $params; - function Auth_ldap($params) + function __construct($params) { $this->params = $params; if (isset($GLOBALS['smarty'])) { @@ -78,6 +78,13 @@ class Auth_ldap extends Auth { */ function authenticate($login, $password) { + // Special handling for admin@localhost - authenticate against db, not ldap. + // It is a fallback mechanism when admin account in LDAP directory does not exist or is misconfigured. + if ($login == 'admin@localhost') { + import('auth.Auth_db'); + return Auth_db::authenticate($login, $password); + } + if (!function_exists('ldap_bind')) { die ('php_ldap extension not loaded!'); } @@ -255,7 +262,7 @@ class Auth_ldap extends Auth { if (defined('AUTH_DEBUG') && isTrue(AUTH_DEBUG)) { echo '$member_of'; var_dump($member_of); echo '
'; - }; + } // check for group membership foreach ($member_of as $check_grp) {