/** * @NotLogged * @param LoginBindingModel $model * @throws \Exception */ public function login(LoginBindingModel $model) { $this->db->prepare("SELECT id, username\n FROM users\n WHERE username = ? AND password = ?", array($model->getUsername(), $model->getPassword())); $response = $this->db->execute()->fetchRowAssoc(); if (!$response) { throw new \Exception('No user matching provided username and password!', 400); } $id = $response['id']; $username = $response['username']; $this->session->_login = $id; $this->session->_username = $model->getUsername(); $this->session->escapedUsername = $username; $this->redirect('/'); }
/** * @NotLogged * @param LoginBindingModel $model * @throws \Exception */ public function login(LoginBindingModel $model) { $this->db->prepare("SELECT u.id as id, u.username as username, r.name as roleName\n FROM users u\n JOIN user_roles ur\n ON u.id = ur.user_id\n JOIN roles r\n ON ur.role_id = r.id\n WHERE username = ?", array($model->getUsername())); $response = $this->db->execute()->fetchRowAssoc(); $id = $response['id']; $username = $response['username']; $role = $response['roleName']; $_SESSION['role'] = $role; $this->db->prepare("SELECT u.id as id, u.username as username, u.password as pass\n FROM users u\n WHERE username = ? AND password = ?", array($model->getUsername(), $model->getPassword())); $response = $this->db->execute()->fetchRowAssoc(); if (!$response) { throw new \Exception('No user matching provided username or password!', 400); } $id = $response['id']; $username = $response['username']; $this->session->_login = $id; $this->session->_username = $model->getUsername(); $this->session->escapedUsername = $username; $_SESSION['username'] = $response['username']; $_SESSION['role'] = $role; $this->redirect('/'); }
/** * @BindingModels LoginBindingModel */ public function loginpost(LoginBindingModel $bindingModel) { if ($bindingModel) { $user = new User(); $user->setUsername($bindingModel->getUsername()); $user->setPassword($bindingModel->getPassword()); $this->initLogin($user->getUsername(), $user->getPassword()); } }