Files
nrml_dashboard/dashboard/app/Http/Controllers/Auth/AuthenticatedSessionController.php
2026-06-16 10:45:41 +07:00

68 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginRequest;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\View\View;
class AuthenticatedSessionController extends Controller
{
/**
* Display the login view.
*/
public function create(): View
{
return view('auth.login');
}
/**
* Handle an incoming authentication request.
*/
public function store(LoginRequest $request): RedirectResponse
{
$request->authenticate();
$request->session()->regenerate();
if (!Auth::user()->is_active) {
Auth::logout();
return back()->withErrors([
'email' => 'Account is disabled.',
]);
}
Auth::user()->update([
'last_login_at' => now()
]);
activity_log(
'login',
'User logged in'
);
return redirect()->intended(route('dashboard', absolute: false));
}
/**
* Destroy an authenticated session.
*/
public function destroy(Request $request): RedirectResponse
{
Auth::guard('web')->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
activity_log(
'logout',
'User logged out'
);
return redirect('/');
}
}