49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Models\UserModel;
|
|
|
|
class Auth extends BaseController
|
|
{
|
|
public function login()
|
|
{
|
|
if (session()->get('logged_in')) {
|
|
return redirect()->to('/dashboard');
|
|
}
|
|
|
|
return view('auth/login');
|
|
}
|
|
|
|
public function attempt()
|
|
{
|
|
$username = trim($this->request->getPost('username'));
|
|
$password = trim($this->request->getPost('password'));
|
|
|
|
$model = new UserModel();
|
|
$user = $model->where('username', $username)->first();
|
|
|
|
if (!$user || !password_verify($password, $user['password'])) {
|
|
return redirect()->back()
|
|
->withInput()
|
|
->with('error', 'Username atau password salah.');
|
|
}
|
|
|
|
session()->set([
|
|
'id' => $user['id'],
|
|
'nama' => $user['nama'],
|
|
'username' => $user['username'],
|
|
'role' => $user['role'],
|
|
'logged_in' => true,
|
|
'last_activity' => time(),
|
|
]);
|
|
|
|
return redirect()->to('/dashboard');
|
|
}
|
|
|
|
public function logout()
|
|
{
|
|
session()->destroy();
|
|
return redirect()->to('/login');
|
|
}
|
|
} |