diff options
author | Thomas Müller <DeepDiver1975@users.noreply.github.com> | 2016-08-22 20:25:20 +0200 |
---|---|---|
committer | Lukas Reschke <lukas@statuscode.ch> | 2016-08-29 14:33:16 +0200 |
commit | 82e8762c8409ea2e831f7076079fb81e4adfdb01 (patch) | |
tree | bc46680a828948e9043fa2b65f330bf6e72dd0d1 /lib/private/User/Manager.php | |
parent | 3647fbe7cd86e743b059889d69b03fcf8207780f (diff) | |
download | nextcloud-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.php | 10 |
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; |