라우터 url에 popup 추가하는게 편함
<?php
namespace App\Http\Middleware;
use App\Helper\ReturnMessage;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Session;
class CheckSessionValue
{
public function handle(Request $request, Closure $next)
{
Log::info("🔥 CheckSessionValue handle() 호출됨");
$return_message = new ReturnMessage();
// 현재 요청의 URL을 가져옵니다.
$currentUrl = trim($request->getPathInfo());
//dd($currentUrl);
// 만약 현재 URL이 로그인 페이지인 경우, 세션 체크를 하지 않고 통과시킵니다.
if ($currentUrl === 'login') {
return $next($request);
}
if (!Session::has('uid')) {
// URL에 'popup' 이 포함되어 있는지 체크
$isPopup = str_contains($currentUrl, 'popup');
if ($isPopup) {
return response(
'<script>
alert("세션이 만료되었습니다. 다시 로그인 해주세요.");
if (window.opener) {
window.opener.location.reload();
}
window.close();
</script>',
200
)->header('Content-Type', 'text/html; charset=UTF-8');
}
// 일반 요청이면 로그인 페이지로 리다이렉트
return redirect()->route('login');
}
return $next($request);
}
}
'[ Web 관련 ] > Laravel 12.5.0' 카테고리의 다른 글
라라벨 공통 함수 사용 (글로벌 헬퍼 함수) (0) | 2025.09.03 |
---|---|
라라벨 모든 view에 데이터 공통으로 전달하기 (1) | 2025.08.29 |
라라벨 클래스가 잘 로드되는지 체크 (0) | 2025.08.29 |
.env 설정 항목들 (3) | 2025.08.14 |
라라벨 기본 HTTP 상태 메시지 (0) | 2025.06.27 |