Esempio n. 1
0
 public function loginAction()
 {
     if (!is_null($this->session->getCurrentUser())) {
         $this->redirect('/');
     }
     if (is_null($this->request->getPost('user')) || is_null($this->request->getPost('password'))) {
         throw new LoginException('Неверные данные формы авторизации.');
     }
     $user = addslashes(trim(strip_tags($this->request->getPost('user'))));
     $password = addslashes(trim(strip_tags($this->request->getPost('password'))));
     $usersModel = new Users();
     try {
         $currentUser = $usersModel->getUsersDataByLogPass($user, $password);
     } catch (\Exception $e) {
         throw new LoginException($e->getMessage());
     }
     if ($currentUser['roles_id'] == self::BANNED) {
         throw new LoginException('Доступ временно запрещен. Обратитесь к администратору.');
     }
     unset($currentUser['password']);
     $userObj = new User();
     $userObj->fillData($currentUser);
     $this->session->setCurrentUser($userObj);
     echo json_encode(array('location' => '/'));
     exit;
 }