Check if user is null before getUsername
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
This commit is contained in:
parent
40bb45225a
commit
2d30511fa6
|
@ -119,24 +119,26 @@ class User_LDAP extends BackendUtility implements \OCP\IUserBackend, \OCP\UserIn
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns the username for the given login name, if available
|
* Return the username for the given login name, if available
|
||||||
*
|
*
|
||||||
* @param string $loginName
|
* @param string $loginName
|
||||||
* @return string|false
|
* @return string|false
|
||||||
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function loginName2UserName($loginName) {
|
public function loginName2UserName($loginName) {
|
||||||
$cacheKey = 'loginName2UserName-'.$loginName;
|
$cacheKey = 'loginName2UserName-' . $loginName;
|
||||||
$username = $this->access->connection->getFromCache($cacheKey);
|
$username = $this->access->connection->getFromCache($cacheKey);
|
||||||
if(!is_null($username)) {
|
|
||||||
|
if ($username !== null) {
|
||||||
return $username;
|
return $username;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$ldapRecord = $this->getLDAPUserByLoginName($loginName);
|
$ldapRecord = $this->getLDAPUserByLoginName($loginName);
|
||||||
$user = $this->access->userManager->get($ldapRecord['dn'][0]);
|
$user = $this->access->userManager->get($ldapRecord['dn'][0]);
|
||||||
if($user instanceof OfflineUser) {
|
if ($user === null || $user instanceof OfflineUser) {
|
||||||
// this path is not really possible, however get() is documented
|
// this path is not really possible, however get() is documented
|
||||||
// to return User or OfflineUser so we are very defensive here.
|
// to return User, OfflineUser or null so we are very defensive here.
|
||||||
$this->access->connection->writeToCache($cacheKey, false);
|
$this->access->connection->writeToCache($cacheKey, false);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue