// // alert('Q&A를 이용하시려면 로그인이 필요합니다.'); // // window.location.href = '/egbim/index.php'; // // // // HTML; // // exit; // // } // // ✅ Descope 로그인 성공 시 g5_member 세션 동기화 // $loginId = $_SESSION['user']['loginIds'][0] ?? ''; // if ($loginId === 'b24014@hanmaceng.co.kr') { // // g5_member 계정이 이미 존재한다고 가정 // $_SESSION['ss_mb_id'] = $loginId; // $_SESSION['ss_mb_level'] = 10; // $is_member = true; // $is_admin = 'super'; // $member = [ // 'mb_id' => $loginId, // 'mb_name' => $_SESSION['user']['name'] ?? '관리자', // 'mb_email' => $_SESSION['user']['email'] ?? '', // 'mb_level' => 10, // 'mb_nick' => '관리자', // ]; // } // // Descope 로그인 성공 시 (예: descope_session.php 내부) // if (!empty($_SESSION['user']['loginIds'][0])) { // $loginId = $_SESSION['user']['loginIds'][0]; // // g5_member 테이블에 계정이 존재한다고 가정 // $_SESSION['ss_mb_id'] = $loginId; // $_SESSION['ss_mb_level'] = 10; // 관리자 레벨 // // 그누보드 전역 변수 보정 // $is_member = true; // $is_admin = 'super'; // $member = [ // 'mb_id' => $loginId, // 'mb_name' => $_SESSION['user']['name'] ?? '관리자', // 'mb_email' => $_SESSION['user']['email'] ?? '', // 'mb_level' => 10, // 'mb_nick' => '관리자', // ]; // } // descope_session.php // 1) 세션 시작 if (session_status() === PHP_SESSION_NONE) { session_start(); } if (empty($_SESSION['user']['userId']) && !empty($_COOKIE['descope_login_id'])) { $customAttributes = json_decode(base64_decode($_COOKIE['descope_custom_attributes'] ?? ''), true); $roleNames = json_decode(base64_decode($_COOKIE['descope_role_names'] ?? ''), true); $loginIdFromCookie = trim((string)($_COOKIE['descope_login_id'] ?? '')); $_SESSION['user'] = [ 'userId' => trim((string)($_COOKIE['descope_user_id'] ?? $loginIdFromCookie)), 'loginIds' => $loginIdFromCookie !== '' ? [$loginIdFromCookie] : [], 'name' => trim((string)($_COOKIE['descope_user_name'] ?? '')), 'email' => trim((string)($_COOKIE['descope_user_email'] ?? '')), 'phone' => trim((string)($_COOKIE['descope_user_phone'] ?? '')), 'customAttributes' => is_array($customAttributes) ? $customAttributes : [], 'roleNames' => is_array($roleNames) ? $roleNames : [], ]; } // 2) 로그인 검사 (비로그인 차단) // if (empty($_SESSION['user']['userId'])) { // // 세션 없으면 바로 차단 // session_destroy(); // echo ""; // exit; // } // 3) 로그인 정보 추출 $loginIds = $_SESSION['user']['loginIds'] ?? []; $loginId = (is_array($loginIds) && !empty($loginIds)) ? $loginIds[0] : ''; $userName = $_SESSION['user']['name'] ?? ''; $userEmail = $_SESSION['user']['email'] ?? ''; // 4) 관리자/일반 사용자 구분 $ADMIN_EMAILS = [ 'kjy0426@hanmaceng.co.kr', 'b24014@hanmaceng.co.kr', 'b23065@hanmaceng.co.kr', 'shyeom1@samaneng.com', 'cjy627@hanmaceng.co.kr', 'b23072@hanmaceng.co.kr', 'cozyjin@hanmaceng.co.kr', 'm24031@hanmaceng.co.kr', 'b24051@hanmaceng.co.kr', 'rmsgud1202@hanmaceng.co.kr', 'm21318@hanmaceng.co.kr', 'b25023@hanmaceng.co.kr', 'sdi9429@naver.com', 'junsuy@hanmail.net', 'ilphilo92@gmail.com' ]; // $isAdmin = in_array($loginId, $ADMIN_EMAILS, true); $isAdmin = $loginId && in_array($loginId, $ADMIN_EMAILS, true); // ✅ 그누보드 전역 세션 동기화 if ($loginId) { $_SESSION['ss_mb_id'] = $loginId; $_SESSION['ss_mb_level'] = $isAdmin ? 10 : 2; $is_member = true; $is_admin = $isAdmin ? 'super' : ''; $member = [ 'mb_id' => $loginId, 'mb_name' => $userName ?: $loginId, 'mb_email' => $userEmail, 'mb_level' => $_SESSION['ss_mb_level'], 'mb_nick' => $userName ?: $loginId, ]; } else { // ✅ 비회원: 로그인 세션 없음 $is_member = false; $is_admin = ''; $member = []; } ?>