| | <?php |
| |
|
| | namespace Kanboard\Auth; |
| |
|
| | use Kanboard\Core\Base; |
| | use Kanboard\Core\Security\PasswordAuthenticationProviderInterface; |
| | use Kanboard\Core\Security\SessionCheckProviderInterface; |
| | use Kanboard\Model\UserModel; |
| | use Kanboard\User\DatabaseUserProvider; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class DatabaseAuth extends Base implements PasswordAuthenticationProviderInterface, SessionCheckProviderInterface |
| | { |
| | |
| | |
| | |
| | |
| | |
| | |
| | protected $userInfo = array(); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | protected $username = ''; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | protected $password = ''; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getName() |
| | { |
| | return 'Database'; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function authenticate() |
| | { |
| | $user = $this->db |
| | ->table(UserModel::TABLE) |
| | ->columns('id', 'password') |
| | ->eq('username', $this->username) |
| | ->eq('disable_login_form', 0) |
| | ->eq('is_ldap_user', 0) |
| | ->eq('is_active', 1) |
| | ->findOne(); |
| |
|
| | if (! empty($user) && password_verify($this->password, $user['password'])) { |
| | $this->userInfo = $user; |
| | return true; |
| | } |
| |
|
| | return false; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function isValidSession() |
| | { |
| | return $this->userModel->isValidSession($this->userSession->getId(), $this->userSession->getRole()); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getUser() |
| | { |
| | if (empty($this->userInfo)) { |
| | return null; |
| | } |
| |
|
| | return new DatabaseUserProvider($this->userInfo); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function setUsername($username) |
| | { |
| | $this->username = $username; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function setPassword($password) |
| | { |
| | $this->password = $password; |
| | } |
| | } |
| |
|