관리자가 관리권한 부여시 특정 관리자 메뉴에 접근이 안되는 문제입니다.

관리자가 관리권한 부여시 특정 관리자 메뉴에 접근이 안되는 문제입니다.

QA

관리자가 관리권한 부여시 특정 관리자 메뉴에 접근이 안되는 문제입니다.

본문

안녕하세요, 
그누보드 5.5.8.2 버전에서 생긴 문제입니다.
관리자 메뉴에서 환경설정의 관리권한설정에 보면 관리권한을 일반 계정에게 위임할수 있는 권한이 있습니다. 
하지만 특정메뉴에서는 관리권한을 부여해주어도 아래의 메시지와 함께 접근이 안됩니다.
"이 메뉴에는 접근 권한이 없습니다.
접근 권한은 최고관리자만 부여할 수 있습니다."

 

아래와 같이 메뉴별도 접근이 되는것도 있고 안되는 것도 있습니다.

 

1)
예를들어, 기본환경설정, 메뉴, 테마등은 접근 권한 메시지가 뜨면서 접근이 안됩니다.
 의 소스를 봐도 아래의 소스에 의해 차단되기 때문에 일반 계정이 접근할 방법이 없어 보입니다.
버그가 아니라면 일반 계정에게 권한 부여를 원천적으로 막은것으로 보입니다.

 

/adm/config_form.php, /adm/menu_list.php, /adm/theme.php 의 경우 아래와 같이 원천적으로 차단됩니다.

if ($is_admin != 'super')
    alert('최고관리자만 접근 가능합니다.');

 

2)
팝업 레이어, 센드메일 테스트와 같은 경우에는 정상적으로 권한 부여가 되고 있습니다.
(/adm/newwinlist.php, /adm/sendmail_test.php)

 

auth_check($auth[$sub_menu], "r");
으로 인증이 처리되어 있으며, 이 경우에는 정상적으로 권한 부여가 되고 있습니다.

 

3)
기본환경설정 /adm/config_form.php 의 경우에는 아래와 같이 1번과 2번의 권한 체크를 같이 하고 있습니다.
auth_check($auth[$sub_menu], 'r');
if ($is_admin != 'super')
    alert('최고관리자만 접근 가능합니다.');

 

====================

아래과 같이 3가지 내용을 문의드립니다.

 

1.
1)번에 언급한 것과 같이 관리권한설정에 부여한 기능이 원래 막혀있는것이 정상적인건지 버그인지 궁금합니다.

 

2. 
1)번에 언급한 것과 같이 관리권한설정에서 부여한 권한이 제대로 안되는 경우는,
if ($is_admin != 'super') 을 지우고, 
2)번과 같이 auth_check($auth[$sub_menu], 'r'); 의 부분만 남겨도 보안에 문제가 없을지 문의 드립니다.

 

3.
auth_check($auth[$sub_menu], 'r'); 이 어떤의미인지 궁금합니다. 
특히 끝의 'r' 의 의미가 의미하는것이 무엇인지 알고 싶습니다.


여러 고수님들의 도움을 부탁드립니다.

감사합니다.

 

이 질문에 댓글 쓰기 :

답변 2

1. 버그아니고 최고관리자만 가능하게 막아논거입니다.

2. if 절은 삭제보다는 or 절로 추가하시는게 좋습니다.

3. 체크 후 읽기 권한(r)이 없으면 페이지를 열지 못하도록 하는 것입니다

1)  최고관리자만 가능하기 때문에 접근을 원하시면 if조건문을 주석처리하시면될꺼 같습니다.  그리고 버그인지 확인하시려면  https://sir.kr/yc5_pds 에서 다운로드 받으셔서 소스를 비교해보시기 바랍니다.

 

2)  읽기만 가능하시다면 auth_check($auth[$sub_menu], 'r'); 이렇게 사용하셔도 됩니다.

 

3) auth_check($auth[$sub_menu], 'r');  

    해당 메뉴에 읽기만 가능한 function입니다.   쓰기권한이 필요하시면 w란 옵션을 넣어주시면됩니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,620 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT