diff options
Diffstat (limited to 'lib/user/manager.php')
-rw-r--r-- | lib/user/manager.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/user/manager.php b/lib/user/manager.php index 8dc9bfe2729..13286bc28a4 100644 --- a/lib/user/manager.php +++ b/lib/user/manager.php @@ -119,6 +119,25 @@ class Manager extends PublicEmitter { } /** + * Check if the password is valid for the user + * + * @param $loginname + * @param $password + * @return mixed the User object on success, false otherwise + */ + public function checkPassword($loginname, $password) { + foreach ($this->backends as $backend) { + if($backend->implementsActions(\OC_USER_BACKEND_CHECK_PASSWORD)) { + $uid = $backend->checkPassword($loginname, $password); + if ($uid !== false) { + return $this->getUserObject($uid, $backend); + } + } + } + return false; + } + + /** * search by user id * * @param string $pattern |