/** * @param BindModels\LoginBindingModel $loginBindingModel * @throws \Exception * @Route("login") */ public function loginUser(BindModels\LoginBindingModel $loginBindingModel) { $username = $loginBindingModel->getUsername(); $password = $loginBindingModel->getPassword(); $user = $this->_eshopData->getUsersRepository()->findByUsername($username); if ($user == null || !password_verify($password, $user->getPassword())) { throw new InvalidCredentialsException('Invalid credentials'); } $_SESSION['role'] = AppUserRolesConfig::getUserRoleName($user->getRole()); $this->setIdInSession($user->getId()); RouteService::redirect('account', 'profile', true); }