понедельник, 4 ноября 2019 г.

Залогинивание вручную

Принимаем запрос по /login?u=username&p=password
Затем загружаем юзера по логину и сравниваем запрошенный и установленный пароли с помощью хешера. Если все совпало, то логиним юзера и возвращаем все его параметры.

   public function login() {
        $data = $this->request->query;

        $this->loadModel('User');
        $user = $this->User->find('first', array('conditions' => array('login' => $data['u'])));
       
        $passwordHasher = new BlowfishPasswordHasher();
        $confirm = $passwordHasher->check($data['p'], $user['User']['password']);
        if ($confirm) { // пароль поравильный
            $this->Auth->login($user['User']);
            $data = $this->Session->read('Auth');
        } else {
            $data = array('Error' => 'Bad password');
        }

        $this->set(compact('data'));
       
    }

Комментариев нет:

Отправить комментарий