mirror of
https://github.com/YunoHost-Apps/kanboard_ynh.git
synced 2024-09-03 19:36:17 +02:00
53 lines
1 KiB
PHP
53 lines
1 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Auth;
|
||
|
|
||
|
use Model\User;
|
||
|
|
||
|
/**
|
||
|
* Database authentication
|
||
|
*
|
||
|
* @package auth
|
||
|
* @author Frederic Guillot
|
||
|
*/
|
||
|
class Database extends Base
|
||
|
{
|
||
|
/**
|
||
|
* Backend name
|
||
|
*
|
||
|
* @var string
|
||
|
*/
|
||
|
const AUTH_NAME = 'Database';
|
||
|
|
||
|
/**
|
||
|
* Authenticate a user
|
||
|
*
|
||
|
* @access public
|
||
|
* @param string $username Username
|
||
|
* @param string $password Password
|
||
|
* @return boolean
|
||
|
*/
|
||
|
public function authenticate($username, $password)
|
||
|
{
|
||
|
$user = $this->db->table(User::TABLE)->eq('username', $username)->eq('is_ldap_user', 0)->findOne();
|
||
|
|
||
|
if ($user && password_verify($password, $user['password'])) {
|
||
|
|
||
|
// Update user session
|
||
|
$this->user->updateSession($user);
|
||
|
|
||
|
// Update login history
|
||
|
$this->lastLogin->create(
|
||
|
self::AUTH_NAME,
|
||
|
$user['id'],
|
||
|
$this->user->getIpAddress(),
|
||
|
$this->user->getUserAgent()
|
||
|
);
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
}
|