fix logout issue

This commit is contained in:
Jagad R R
2025-05-09 18:39:17 +07:00
parent 1b3f439ddd
commit 0041a9fd48
7 changed files with 9 additions and 99 deletions
@@ -123,23 +123,17 @@ class LoginController extends Controller
{
$user = Auth::guard('admin')->user();
if (!$user) {
Auth::guard('admin')->logout();
return redirect()->route('admin.login');
if ($user) {
// Log activity hanya jika user valid
AuditTrailHelper::AuthAttempt('Logout', 'User (' . $user->username . ') Logged out from the System');
}
// Log activity
AuditTrailHelper::AuthAttempt('Logout', 'User (' . $user->username . ') Logged out from the System');
try {
// Logout from admin guard
Auth::guard('admin')->logout();
} catch (Exception $e) {
// Fallback to web guard if admin logout fails
Auth::guard('web')->logout();
}
// Redirect to admin login
return redirect()->route('admin.login');
}
}
-36
View File
@@ -1,36 +0,0 @@
<?php
namespace App\Listeners;
use Illuminate\Auth\Events\Login;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use App\Models\LoginLog;
class LogLoginActivity
{
/**
* Create the event listener.
*/
public function __construct()
{
//
}
/**
* Handle the event.
*/
public function handle(Login $event): void
{
// Ambil data user yang login
$user = $event->user;
// Simpan log login
LoginLog::create([
'user_id' => $user->id ?? null,
'ip_address' => request()->ip(),
'user_agent' => request()->userAgent(),
'status' => 'login',
]);
}
}
-36
View File
@@ -1,36 +0,0 @@
<?php
namespace App\Listeners;
use Illuminate\Auth\Events\Logout;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use App\Models\LoginLog;
class LogLogoutActivity
{
/**
* Create the event listener.
*/
public function __construct()
{
//
}
/**
* Handle the event.
*/
public function handle(Logout $event): void
{
// Ambil data user yang logout
$user = $event->user;
// Simpan log logout
LoginLog::create([
'user_id' => $user->id ?? null,
'ip_address' => request()->ip(),
'user_agent' => request()->userAgent(),
'status' => 'logout', // Kolom tambahan untuk menandakan logout
]);
}
}
-6
View File
@@ -18,12 +18,6 @@ class EventServiceProvider extends ServiceProvider
Registered::class => [
SendEmailVerificationNotification::class,
],
\Illuminate\Auth\Events\Login::class => [
\App\Listeners\LogLoginActivity::class,
],
\Illuminate\Auth\Events\Logout::class => [
\App\Listeners\LogLogoutActivity::class,
],
];
/**
+2 -2
View File
@@ -272,7 +272,7 @@
});
</script>
<script>
{{-- <script>
let logoutTimer;
function resetLogoutTimer() {
@@ -295,7 +295,7 @@
document.addEventListener('keydown', resetLogoutTimer);
resetLogoutTimer();
</script>
</script> --}}
<script>
const periode = document.getElementById('periode');
@@ -4,14 +4,8 @@
<i class="fas fa-user"></i> My Account
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item dropdown-footer" href="{{ route('admin.logout.submit') }}"
onclick="event.preventDefault();
document.getElementById('admin-logout-form').submit();">Logout
Account</a>
<form id="admin-logout-form" action="{{ route('admin.logout.submit') }}" method="POST" style="display: none;">
@csrf
</form>
<a class="dropdown-item dropdown-footer" href="{{ route('admin.logout.submit') }}">
Logout Account
</a>
</div>
+1 -1
View File
@@ -32,7 +32,7 @@ Route::group(['prefix' => 'admin', 'as' => 'admin.'], function () {
Route::post('/login/submit', [LoginController::class, 'login'])->name('login.submit');
Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login');
// Logout Routes.
Route::post('/logout/submit', [LoginController::class, 'logout'])->name('logout.submit');
Route::get('/logout/submit', [LoginController::class, 'logout'])->name('logout.submit');
});