Files
Kol-Manager/app/Http/Controllers/GateController.php

45 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Http\Controllers;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
class GateController extends Controller
{
public function login(): View
{
return view('gate.login');
}
public function attempt(Request $request): RedirectResponse
{
$request->validate([
'password' => 'required|string',
]);
$expected = config('app.password');
if (! $expected || $request->input('password') !== $expected) {
return back()->withErrors(['password' => 'Wrong password. Please try again.']);
}
// Store flag in session; expires with session lifetime (24 h in .env)
$request->session()->put('gate_authenticated', true);
$request->session()->regenerate();
return redirect()->intended(route('dashboard'));
}
public function logout(Request $request): RedirectResponse
{
$request->session()->forget('gate_authenticated');
$request->session()->regenerate();
return redirect()->route('gate.login');
}
}