summaryrefslogtreecommitdiffstats
path: root/lib/private/User/Manager.php
diff options
context:
space:
mode:
authorThomas Müller <DeepDiver1975@users.noreply.github.com>2016-08-22 20:25:20 +0200
committerLukas Reschke <lukas@statuscode.ch>2016-08-29 14:33:16 +0200
commit82e8762c8409ea2e831f7076079fb81e4adfdb01 (patch)
treebc46680a828948e9043fa2b65f330bf6e72dd0d1 /lib/private/User/Manager.php
parent3647fbe7cd86e743b059889d69b03fcf8207780f (diff)
downloadnextcloud-server-82e8762c8409ea2e831f7076079fb81e4adfdb01.tar.gz
nextcloud-server-82e8762c8409ea2e831f7076079fb81e4adfdb01.zip
Fix issues where some user settings cannot be loaded when the user id differs in case sensitivity - fixes #25684 (#25686)
Diffstat (limited to 'lib/private/User/Manager.php')
-rw-r--r--lib/private/User/Manager.php10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php
index f41468d4926..7d8c6d48b2c 100644
--- a/lib/private/User/Manager.php
+++ b/lib/private/User/Manager.php
@@ -157,6 +157,16 @@ class Manager extends PublicEmitter implements IUserManager {
return $this->cachedUsers[$uid];
}
+ if (method_exists($backend, 'loginName2UserName')) {
+ $loginName = $backend->loginName2UserName($uid);
+ if ($loginName !== false) {
+ $uid = $loginName;
+ }
+ if (isset($this->cachedUsers[$uid])) {
+ return $this->cachedUsers[$uid];
+ }
+ }
+
$user = new User($uid, $backend, $this, $this->config);
if ($cacheUser) {
$this->cachedUsers[$uid] = $user;