summaryrefslogtreecommitdiffstats
path: root/lib/user/session.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/user/session.php')
-rw-r--r--lib/user/session.php19
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/user/session.php b/lib/user/session.php
index 98a24d5bb00..525c65ab8a1 100644
--- a/lib/user/session.php
+++ b/lib/user/session.php
@@ -121,15 +121,16 @@ class Session implements Emitter, \OCP\IUserSession {
*/
public function login($uid, $password) {
$this->manager->emit('\OC\User', 'preLogin', array($uid, $password));
- $user = $this->manager->get($uid);
- if ($user) {
- $result = $user->checkPassword($password);
- if ($result and $user->isEnabled()) {
- $this->setUser($user);
- $this->manager->emit('\OC\User', 'postLogin', array($user, $password));
- return true;
- } else {
- return false;
+ $user = $this->manager->checkPassword($uid, $password);
+ if($user !== false) {
+ if (!is_null($user)) {
+ if ($user->isEnabled()) {
+ $this->setUser($user);
+ $this->manager->emit('\OC\User', 'postLogin', array($user, $password));
+ return true;
+ } else {
+ return false;
+ }
}
} else {
return false;