Files
erahn-click/app/Http/Middleware/LogViewerPassword.php
T
2025-06-16 12:28:38 +08:00

34 lines
1.1 KiB
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class LogViewerPassword
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
$isAuthenticated = $request->session()->get('logviewer_authenticated');
$authenticatedAt = $request->session()->get('logviewer_authenticated_at');
if (!$isAuthenticated) {
return redirect()->route('log-login');
}
if(now()->diffInMinutes($authenticatedAt) > env('LOGVIEWER_SESSION_MINUTES', 10)) {
$request->session()->forget(['logviewer_authenticated', 'logviewer_authenticated_at']);
return redirect()->route('log-login')->with('error', 'Session expired. Please log in again.');
}
return $next($request);
}
}