Update LdapAuthMiddleware.php (#1710)

This commit is contained in:
FloSet 2021-12-06 22:22:10 +01:00 committed by GitHub
parent c8c63bea5d
commit 1e8a1d7ffb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -47,6 +47,7 @@ class LdapAuthMiddleware extends AuthMiddleware
$ldapFirstName = $result[0]['givenname'][0]; $ldapFirstName = $result[0]['givenname'][0];
$ldapLastName = $result[0]['sn'][0]; $ldapLastName = $result[0]['sn'][0];
$ldapDistinguishedName = $result[0]['dn']; $ldapDistinguishedName = $result[0]['dn'];
$ldapUidAttribute = $result[0][strtolower(GROCY_LDAP_UID_ATTR)][0];
if (is_null($ldapDistinguishedName)) if (is_null($ldapDistinguishedName))
{ {
@ -66,10 +67,10 @@ class LdapAuthMiddleware extends AuthMiddleware
ldap_close($connect); ldap_close($connect);
$db = DatabaseService::getInstance()->GetDbConnection(); $db = DatabaseService::getInstance()->GetDbConnection();
$user = $db->users()->where('username', $postParams['username'])->fetch(); $user = $db->users()->where('username', $ldapUidAttribute)->fetch();
if ($user == null) if ($user == null)
{ {
$user = UsersService::getInstance()->CreateUser($postParams['username'], $ldapFirstName, $ldapLastName, ''); $user = UsersService::getInstance()->CreateUser($ldapUidAttribute, $ldapFirstName, $ldapLastName, '');
} }
$sessionKey = SessionService::getInstance()->CreateSession($user->id, $postParams['stay_logged_in'] == 'on'); $sessionKey = SessionService::getInstance()->CreateSession($user->id, $postParams['stay_logged_in'] == 'on');