TIF_NGANJUK_E41220539/app/Http/Controllers/Auth/AuthenticatedSessionControl...

53 lines
1.3 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(Request $request): View
{
// Ambil 'role' dari URL, jika tidak ada, defaultnya 'siswa'
$role = $request->query('role', 'siswa');
return view('auth.login', [
'role' => $role
]);
}
/**
* Handle an incoming authentication request.
*/
public function store(LoginRequest $request): RedirectResponse
{
$request->authenticate(); // Menjalankan logika di LoginRequest
$request->session()->regenerate();
// Karena login sudah dijamin benar, cukup arahkan ke dashboard umum
return redirect()->intended(route('dashboard'));
}
/**
* Destroy an authenticated session.
*/
public function destroy(Request $request): RedirectResponse
{
Auth::guard('web')->logout();
$request->session()->forget('user_data');
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/');
}
}