/** * @Route ["/login", "post"] * @OnlyAnonymous */ public function postLogin(UserLoginBindingModel $userModel) : View { try { if (!$userModel->isValid()) { $viewModel = new \Framework\ViewModels\User\GetLoginViewModel(); $viewModel->errorsList = $userModel->getErrorsList(); $viewModel->error = true; return new View('\\User\\getLogin', $viewModel); } $result = \Framework\Core\Identity::login($userModel->username, $userModel->password); $viewModel = new \Framework\ViewModels\User\GetLoginViewModel(); $viewModel->success = true; $viewModel->successList[] = "You have successfully logged in"; return new View('\\User\\getLogin', $viewModel); } catch (\Exception $e) { $viewModel = new \Framework\ViewModels\User\GetLoginViewModel(); $viewModel->errorsList = $userModel->getErrorsList(); $viewModel->errorsList[] = $e->getMessage(); $viewModel->error = true; return new View('\\User\\getLogin', $viewModel); } }
/** * @OnlyAnonymous */ public function postLogin(AdminLoginBindingModel $userModel) : View { try { if (!$userModel->isValid()) { $viewModel = new \Framework\Areas\Admin\ViewModels\Login\GetLoginViewModel(); $viewModel->errorsList = $userModel->getErrorsList(); $viewModel->error = true; return new View('\\Login\\getLogin', $viewModel); } $result = \Framework\Core\Identity::login($userModel->username, $userModel->password); if (!\Framework\Core\Identity::isUserInRole($userModel->username, \Framework\Config\Config::USER_ROLES[0])) { throw new \Exception("Invalid administrator credentials"); } $this->redirect("../admin"); } catch (\Exception $e) { $viewModel = new \Framework\Areas\Admin\ViewModels\Login\GetLoginViewModel(); $viewModel->errorsList = $userModel->getErrorsList(); $viewModel->errorsList[] = $e->getMessage(); $viewModel->error = true; return new View('\\Login\\getLogin', $viewModel); } }