session()->get('_sess._login_', false); $memNo = (int) $request->session()->get('_sess._mno', 0); if (!$loggedIn || $memNo <= 0) { // GET만 intended 저장 if ($request->isMethod('get')) { $request->session()->put('url.intended', $request->fullUrl()); } // JSON을 기대하는 요청이면 JSON 401 // (fetch/axios는 Accept: application/json 넣으면 expectsJson()이 안정적으로 동작) if ($request->expectsJson()) { return response()->json([ 'ok' => false, 'message' => '로그인 정보가 확인되지 않습니다. 다시 로그인해 주세요.', 'redirect' => route('web.auth.login'), ], 401); } // 일반 웹 요청: 로그인 페이지로 return redirect()->route('web.auth.login') ->with('ui_dialog', [ 'type' => 'alert', 'title' => '안내', 'message' => '로그인 필요합니다.', ]); } return $next($request); } }