반응형
예를 들어:
- 관리자만 확인해야 하는 내부 공지
- 특정 직원 아이디만 접근 가능한 업무 페이지
- 특정 그룹에 속한 사용자만 볼 수 있는 자료실
그누보드(Gnuboard)는 PHP 기반 CMS라서, 조건문을 활용하면 손쉽게 접근 권한을 제어할 수 있습니다.
이번 글에서는 관리자 전용 + 특정 아이디 + 특정 그룹 전용 콘텐츠 구현 방법을 전문가 관점에서 정리합니다.
관리자 전용 콘텐츠 출력
그누보드에는 $is_admin 변수가 기본 제공됩니다.
- super : 최고관리자
- group : 그룹관리자
- board : 게시판관리자
- "" : 일반회원 또는 비회원
위의 3가지 형태로 정해져 있다.
<p>아무나 볼 수 있는 내용</p>
<?php
if ($is_admin) echo "<p>관리자 전용</p>";
if ($is_admin == 'super') echo "<p>최고관리자만 볼 수 있는 내용</p>";
?>



최고관리자는 관리자 그룹에도 포함 되어있기에 is_admin도 볼수 있다.
특정 아이디 전용 콘텐츠 출력
특정 사용자 계정(예: testuser)만 볼 수 있도록 하려면 $member['mb_id'] 변수를 활용합니다.
특정 유저에게만 노출 시킬 내용이 있다면 아래 처럼 사용하면된다.
<?php
if ($member['mb_id'] == 'testuser') {
echo "<p>testuser 계정 전용 콘텐츠.</p>";
}
?>
다만 보통 이런식으로 서비스 하지는 않다면 특수한 경우나 테스트 용도로 써봐도되지 않을까 싶다.
만약 특정 콘텐츠를 노출 시키고 싶은 화면의 특정 대상이 여러명일 경우
<?php
$allow_ids = array('testuser', 'admin02', 'manager01');
if (in_array($member['mb_id'], $allow_ids)) {
echo "<p>특정 3명의 아이디에게만 보이는 전용 콘텐츠</p>";
}
?>
이런식으로 사용하면 별도로 여러명에게 정해줄 수 있다.
다만 아이디를 이렇게 코드상에 노출시키는건 보안상으로 좋진 않으니 주의 해야한다.
반응형
특정 그룹 전용 콘텐츠 출력
특정 회원이 너무 많거나 그룹으로 보여주고 싶을때는
$member['mb_level']를 사용해 특정 그룹 코드만 접근 가능한 그룹 관련 변수를 활용한다.
<?php
if ($member['mb_id'] && $member['mb_group'] == 'staff') {
echo "<p> 스태프 그룹 전용 콘텐츠입니다.</p>";
}
?>
※ 기본 그누보드에는 mb_group 필드가 없으므로,
- 확장 필드(여분필드)
- 별도 그룹 관리 테이블
- mb_level 권한 값
을 활용하여 그룹을 제어하는 방식으로 구현할 수 있습니다.
예시: mb_level >= 5 이상 회원만 접근 가능
<?php
if ($member['mb_level'] >= 5) {
echo "<p>레벨 5 이상 회원 전용 콘텐츠입니다.</p>";
}
?>
정리
- $is_admin → 관리자만 접근
- $member['mb_id'] → 특정 아이디 전용
- $member['mb_level'] or 그룹 필드 → 특정 그룹 전용
반응형
'Dev > Php' 카테고리의 다른 글
| [그누보드5] basic 테마 복사해서 ‘내 테마’로 적용하는 방법 (readme.txt 포함) (0) | 2025.10.24 |
|---|---|
| 그누보드 SASS 적용하기 (0) | 2024.07.23 |
| VsCode - 그누보드 FTP 연결 (0) | 2024.07.22 |