Normalize admin routes and docker config

This commit is contained in:
Lectom C Han
2026-02-04 12:40:02 +09:00
parent bf86b1d1e7
commit 410b2b7b48
30 changed files with 467 additions and 231 deletions

View File

@@ -5,6 +5,22 @@ if (session_status() === PHP_SESSION_NONE) {
$isLogin = isset($_SESSION['login']);
$auth = $_SESSION['login']['auth_bc'] ?? '';
$loginName = $_SESSION['login']['idp_name'] ?? ($_SESSION['login']['user_nm'] ?? '');
$loginEmail = $_SESSION['login']['idp_email'] ?? ($_SESSION['login']['email'] ?? '');
$displayName = $loginName ?: ($loginEmail ?: '');
$displayEmail = $loginEmail;
if ($displayName === 'Unknown') {
$displayName = '';
}
if ($displayEmail === 'Unknown') {
$displayEmail = '';
}
if ($displayName === $displayEmail) {
$displayEmail = '';
}
if ($displayName === '') {
$displayName = '사용자';
}
// 권한 그룹
$isSuperAdmin = in_array($auth, ['BS100100', 'BS100200']);
@@ -30,6 +46,53 @@ $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400
.icon-btn:hover img {
opacity: 1;
}
.auth-status {
display: inline-flex;
align-items: center;
margin-right: 10px;
}
.btn-oidc-top {
--color-primary: #f95523;
--color-primary-border: #ca3f14;
background: var(--color-primary, #f95523);
border: 1px solid var(--color-primary-border, #ca3f14);
color: #fff;
padding: 8px 12px;
border-radius: 4px;
font-size: 13px;
font-weight: 600;
cursor: pointer;
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.btn-oidc-top:hover {
opacity: 0.85;
}
.auth-user {
color: #fff;
font-size: 13px;
font-weight: 600;
white-space: nowrap;
}
.btn-logout-top {
--color-secondary: #3a3a3a;
--color-secondary-border: #2a2a2a;
background: var(--color-secondary, #3a3a3a);
border: 1px solid var(--color-secondary-border, #2a2a2a);
color: #fff;
padding: 8px 10px;
border-radius: 4px;
font-size: 12px;
font-weight: 600;
margin-left: 8px;
cursor: pointer;
}
.btn-logout-top:hover {
opacity: 0.85;
}
/* 툴팁 래퍼 */
.tooltip {
position: relative;
@@ -85,16 +148,29 @@ $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400
<div class="header-wrap">
<header class="header">
<h1>
<a href="/kngil/skin/index.php">KNGIL</a>
<a href="/">KNGIL</a>
</h1>
<div class="header-right">
<div class="auth-status">
<?php if ($isLogin): ?>
<span class="auth-user">
<?= htmlspecialchars($displayName) ?>
<?php if ($displayEmail): ?>
(<?= htmlspecialchars($displayEmail) ?>)
<?php endif; ?>
</span>
<a href="/kngil/bbs/logout.php" class="btn-logout-top">로그아웃</a>
<?php else: ?>
<button type="button" class="btn-oidc-top" data-oidc-login>[바론 통합로그인]</button>
<?php endif; ?>
</div>
<?php if ($isLogin): ?>
<!-- 통합 회원관리 (관리자/개발자만) -->
<?php if ($isSuperAdmin): ?>
<a href="/kngil/skin/adm.php"
<a href="/admin"
class="icon-btn tooltip">
<img src="/kngil/img/ico/ico_super_admin.svg" class="header-icon" alt="통합 회원관리">
<span class="tooltip-text">통합 회원관리</span>
@@ -103,7 +179,7 @@ $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400
<!-- 회사 관리자 (관리자/개발자/메인/서브) -->
<?php if ($isCompanyAdmin): ?>
<a href="/kngil/skin/adm_comp.php"
<a href="/admin/company"
class="icon-btn tooltip">
<img src="/kngil/img/ico/ico_company_admin.svg" class="header-icon" alt="회사 관리자">
<span class="tooltip-text">회사 관리자</span>
@@ -112,30 +188,23 @@ $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400
<?php endif; ?>
<!-- 기존 사용자 메뉴 -->
<div class="menu-box">
<button class="menu-user">
<img src="/kngil/img/ico/ico_user.svg" alt="user">
</button>
<?php if ($isLogin): ?>
<!-- 기존 사용자 메뉴 -->
<div class="menu-box">
<button class="menu-user">
<img src="/kngil/img/ico/ico_user.svg" alt="user">
</button>
<ul class="menu-list">
<!-- 비로그인 -->
<li class="<?= $isLogin ? 'd-none' : '' ?>">
<a class="my-join" href="javascript:agreement();">회원가입</a>
</li>
<li class="<?= $isLogin ? 'd-none' : '' ?>">
<a class="my-login" href="javascript:login();">로그인</a>
</li>
<!-- 로그인 -->
<li class="<?= $isLogin ? '' : 'd-none' ?>">
<a class="my-join" href="javascript:mypage01()">마이페이지</a>
</li>
<li class="<?= $isLogin ? '' : 'd-none' ?>">
<a class="my-login" href="/kngil/bbs/logout.php">로그아웃</a>
</li>
</ul>
</div>
<ul class="menu-list">
<li>
<a class="my-join" href="javascript:mypage01()">마이페이지</a>
</li>
<li>
<a class="my-login" href="/kngil/bbs/logout.php">로그아웃</a>
</li>
</ul>
</div>
<?php endif; ?>
<div>
<button class="menu-all">

View File

@@ -42,7 +42,6 @@
<!-- //HEADER -->
<?php
include __DIR__ . "/pop_login.php";
include __DIR__ . "/pop_join.php";
include __DIR__ . "/pop_agreement.php";
include __DIR__ . "/pop_mypage01.php";
@@ -153,7 +152,6 @@
<script src="/kngil/js/index.js"></script>
<script src="/kngil/js/mypage.js"></script>
<script src="/kngil/js/join.js"></script>
<script type="module" src="/kngil/js/login.js"></script>
<script src="/kngil/js/login_sms.js"></script>
<script>
AOS.init();

View File

@@ -1,3 +1,8 @@
<?php
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
?>
<!DOCTYPE html>
<!--index.php-->
<html lang="ko">
@@ -36,7 +41,6 @@
</div>
</div>
<?php
include __DIR__ . "/pop_login.php";
include __DIR__ . "/pop_join.php";
include __DIR__ . "/pop_agreement.php";
include __DIR__ . "/pop_mypage01.php";
@@ -53,7 +57,6 @@
<script src="/kngil/js/index.js"></script>
<script src="/kngil/js/mypage.js"></script>
<script src="/kngil/js/join.js"></script>
<script type="module" src="/kngil/js/login.js"></script>
<script src="/kngil/js/login_sms.js"></script>
</body>
</html>

View File

@@ -1,119 +0,0 @@
<!-- popup_wrap -->
<div class="popup-wrap" id="pop_login" role="dialog" aria-labelledby="login_title" aria-modal="true">
<!-- popup_in -->
<div class="popup-in member">
<button class="btn-close" type="button" aria-label="팝업 닫기">
<img src="/kngil/img/ico/ico_close.svg" alt="닫기">
</button>
<!-- popup_container -->
<div class="popup-container login">
<!-- pop_header -->
<div class="pop-header">
<h2 class="tit" id="login_title">로그인</h2>
<p class="sub-txt">
KNGIL 로그인 <br class="pc-only">
<em>다운로드 1:1문의 서비스를</em><br class="pc-only" /> 이용하실 있습니다.
</p>
</div>
<!-- //pop_header -->
<!-- pop_body -->
<div class="pop-body">
<div class="contents-wrap">
<ul class="tab-menu round">
<li class="tab-phone on"><span>휴대폰 인증</span></li>
<li class="tab-id"><span>아이디 로그인</span></li>
</ul>
<div class="tab-content phone">
<form action="" method="post" novalidate>
<div class="form-wrap">
<div class="input-box group">
<i class="phone" aria-hidden="true"></i>
<input type="tel" id="login_phone" name="userPhone" placeholder="휴대폰 번호 (예: 010-1234-5678)" required aria-label="휴대폰 번호">
<span class="timer d-none">03:00</span>
<!-- 재요청 버튼 -->
<button type="button"
class="btn-resend d-none"
id="sms_resend">
재요청
</button>
</div>
<div class="info-box d-none">
<p>
<em>인증 링크를 문자로 발송했습니다</em><br />
인증 문자가 오지 않으면 인증 링크를 재요청 해보세요
</p>
</div>
<div class="btn-wrap">
<button class="btn-full" id="sms_button" type="submit">인증 링크 요청</button>
</div>
<div class="btn-wrap">
<a class="go-signup" href="javascript:agreement();">
<span>회원가입</span><i class="arrow-r" aria-hidden="true"></i>
</a>
</div>
</div>
</form>
</div>
<div class="tab-content id">
<form action="" method="post" novalidate>
<div class="form-wrap">
<div class="input-box group">
<i class="id" aria-hidden="true"></i>
<input type="text" id="login_id" name="userId" placeholder="아이디" required aria-label="아이디">
</div>
<div class="input-box group">
<i class="pw" aria-hidden="true"></i>
<input type="password" id="login_password" name="userPassword" placeholder="비밀번호" required aria-label="비밀번호">
</div>
<div class="btn-wrap">
<button class="btn-full" type="submit">로그인</button>
</div>
<div class="btn-wrap">
<a class="go-signup" href="javascript:agreement();">
<span>회원가입</span>
<i class="arrow-r" aria-hidden="true"></i>
</a>
<!-- 로그인 팝업 이동 -->
<a class="go-login" href="http://172.16.9.44/kngil/skin/popup/callback">
<span>로그인</span>
<i class="arrow-r" aria-hidden="true"></i>
</a>
</div>
<style>
.btn-oidc {
background-color: #000; /* IDP 브랜드 컬러에 맞춰 조정 가능 */
color: #fff;
border: none;
width: 100%;
padding: 12px;
border-radius: 4px;
margin-top: 10px;
cursor: pointer;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
}
.btn-oidc:hover {
opacity: 0.8;
}
</style>
<div class="btn-wrap">
<button type="button" class="btn-oidc" id="btn_oidc_login">
OIDC 통합 로그인
</button>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- //pop_body -->
</div>
<!-- //popup_container -->
</div>
<!-- //popup_in -->
</div>
<!-- //popup_wrap -->

View File

@@ -38,7 +38,6 @@
<?php
include __DIR__ . "/pop_login.php";
include __DIR__ . "/pop_join.php";
include __DIR__ . "/pop_agreement.php";
include __DIR__ . "/pop_mypage01.php";
@@ -347,7 +346,6 @@
<script src="/kngil/js/index.js"></script>
<script src="/kngil/js/mypage.js"></script>
<script src="/kngil/js/join.js"></script>
<script type="module" src="/kngil/js/login.js"></script>
<script src="/kngil/js/login_sms.js"></script>
<script>
@@ -611,4 +609,3 @@
}
});
</script>

View File

@@ -33,7 +33,6 @@
<?php include __DIR__ . "/_header.php"; ?>
<!-- //HEADER -->
<?php
include __DIR__ . "/pop_login.php";
include __DIR__ . "/pop_join.php";
include __DIR__ . "/pop_agreement.php";
include __DIR__ . "/pop_mypage01.php";
@@ -259,7 +258,6 @@
<script src="/kngil/js/index.js"></script>
<script src="/kngil/js/mypage.js"></script>
<script src="/kngil/js/join.js"></script>
<script type="module" src="/kngil/js/login.js"></script>
<script src="/kngil/js/login_sms.js"></script>
<script>

View File

@@ -35,7 +35,6 @@
<?php include __DIR__ . "/_header.php"; ?>
<!-- //HEADER -->
<?php
include __DIR__ . "/pop_login.php";
include __DIR__ . "/pop_join.php";
include __DIR__ . "/pop_agreement.php";
include __DIR__ . "/pop_mypage01.php";
@@ -254,7 +253,6 @@
<script src="/kngil/js/index.js"></script>
<script src="/kngil/js/mypage.js"></script>
<script src="/kngil/js/join.js"></script>
<script type="module" src="/kngil/js/login.js"></script>
<script src="/kngil/js/login_sms.js"></script>
<script>

View File

@@ -53,7 +53,6 @@
?>
<?php
include __DIR__ . "/pop_login.php";
include __DIR__ . "/pop_join.php";
include __DIR__ . "/pop_agreement.php";
include __DIR__ . "/pop_mypage01.php";
@@ -154,7 +153,6 @@
<script src="/kngil/js/index.js"></script>
<script src="/kngil/js/mypage.js"></script>
<script src="/kngil/js/join.js"></script>
<script type="module" src="/kngil/js/login.js"></script>
<script src="/kngil/js/login_sms.js"></script>
<!-- CKEditor 표시용 초기화 (submit 관여 X) -->