웹마스터 팁

뭡니까?
 권한이 없는 곳에 접근하면

[권한이 없습니다] 라고 뜹니다.

하지만, 회원별 등급을 나누어 운영하는 사이트의 경우,

메시지도 순화시키고, 어떤 등급이 필요한 것인지

(사실 노출 안되는것이 제일 편리하지만)

알려주기 위해서 수정해보았습니다.

어떻게 합니까
 파일 몇 개 수정합니다.

1. 원하는 메시지를 마구마구 추가하세요
    $lang->msg_not_permitted_member1 = '당신 빼고 다 열람 가능합니다 :)';
    $lang->msg_not_permitted_member2 = '잘생긴 사람 이상 열람 가능합니다 :)';
    $lang->msg_not_permitted_member3 = '로그인 후 열람 가능합니다 :)';
(코드 입력기가 잘 작동안하네요;; common/lang/ko.lang.php입니다.)


2. 권한 정보를 잠시 빼옵니다. 당장 해킹의 위험이 있는것은 아니지만, zbxe에서 원하는 객체지향적인면에서 권한을 알 필요가 없는 곳에서 권한을 가져온다는면에서 바람직하지는 않습니다만, 각오하고 쓰세요 ㅋㅋㅋㅋ
             // 권한변수 설정
            $this->grant = $grant;
            Context::set('grant', $grant);

                // 권한값을알기위한설정
            Context::set('grants', $this->module_info->grants);

            if(method_exists($this, 'init')) $this->init();
가운데 Context::set('grants', $this->module_info->grants); 를 추가하시는겁니다.


3. 지금은 board모듈에서 수정합니다. 다른 모듈도 비슷하게 시도해보세요..
         /**
         * @brief 목록 및 선택된 글 출력
         **/
        function dispBoardContent() {
            /**
             * 목록보기 권한 체크 (모든 권한은 ModuleObject에서 xml 정보와 module_info의 grant 값을 비교하여 미리 설정하여 놓음)
             **/

            $grants = Context::get('grants');

            if(!$this->grant->list) 

            /**
            * module_info에서 권한을 검사하여 해당하는 메시지 출력
            **/
{
            if (in_array('2',$grants['view'])) // 그룹2에게 보기 권한이 있을 때
                return $this->dispBoardMessage('msg_not_permitted_member2');
            elseif (in_array('3',$grants['view'])) // 그룹3에게 보기 권한이 있을 때
                return $this->dispBoardMessage('msg_not_permitted_member3');
            elseif (in_array('4',$grants['view'])) // 그룹4에게 보기 권한이 있을 때
                return $this->dispBoardMessage('msg_not_permitted_member4');
            else
                return $this->dispBoardMessage('msg_not_permitted');

}
 
위 파일 경우는, 사실 원래는 목록보기 권한이 없을 때 나올 메시지입니다만,
그냥 들어왔는데, 로그인해라길래 들어오니까 등급이안된다고 안보여주면 짜증나니까
한번에 필요한 큰 권한을 알려주는..? 뭐 알아서 잘 편집하세요 ㅋ

                     // 글 보기 권한을 체크해서 권한이 없으면 오류 메세지 출력하도록 처리
                    if(!$this->grant->view && !$oDocument->isGranted()) {
                        $oDocument = null;
                        $oDocument = $oDocumentModel->getDocument(0);

                        Context::set('document_srl','',true);
                        if (in_array('2',$grants['view'])) //그룹2에게 보기 권한이 있을 때
                                return $this->alertMessage('msg_not_permitted_member1');
                        elseif (in_array('3',$grants['view'])) //그룹3에게 보기 권한이 있을 때
                                return $this->alertMessage('msg_not_permitted_member2');
                        elseif (in_array('4',$grants['view'])) // 그룹4에게 보기 권한이 있을 때
                                return $this->alertMessage('msg_not_permitted_member3');
                        else
                                return $this->alertMessage('msg_not_permitted');

                    } else {
 
소스 건드실 분들은 아시겠지만, 저기 2,3,4들은 group_srl입니다. 직접 값을 모르시면 잘 찾아보세요...
 
추가) 관리자로 로그인하셔서 관리 -> 회원 -> 그룹관리 -> 해당 그룹의 수정 링크의 속성에서 링크 주소를 보시면 group_srl=숫자 가 나옵니다. 이 숫자가 해당 그룹의 시리얼넘버이구요, 저기 '2', '3'등과 같이 있는 곳에 해당 숫자를 넣으시면 됩니다 :)

스샷은 귀찮아서..
태그 연관 글
  1. [2021/01/21] 묻고답하기 메일인증 에러(고급 메일 발송 모듈)을 이용 by ZETSUEN
  2. [2019/06/11] 묻고답하기 첨부파일 본문 삽입 다운로드 에러 by woobi *2
  3. [2018/08/29] 묻고답하기 로그인해야만 사이트가 보여요 by sselang *2
  4. [2018/06/15] 묻고답하기 서버 설치 처음이라서 많은 도움 부탁드립니다 by 허원정 *1
  5. [2017/07/18] 묻고답하기 게시판 공개 권한 질문 드려요 도와 주세요ㅠㅠ by sheis**** *2
제목 글쓴이 날짜
메뉴목록이 너무 많아 메뉴를 가로 전역에 걸쳐 넣고 싶으십니까? 또는... [3] 유샤인 2010.03.04
제로보드4에서 XE로 넘어와 헤메는 분들을 위해서(1편)-Xe개념이해와 설치 [16] file 황비 2010.03.18
APMSETUP에서 쓰던 XE를 리눅스 XE로 이전하기 [1] xe가쉽다 2010.03.22
레이아웃 적용 후 게시판 접근 제한 -> 게시판 board 모듈 재설치 해결 [1] refree 2010.04.24
관리자 글 등록시 비번 입력하게 만들기 [5] 우진♡아빠 2010.04.28
로그인 스킨 수정 팁 - 신규 쪽지 수 보여주기 [17] file 러브스킬 2010.05.03
로그인시 다음과같은 오류가 발생합니다. 빠른답변좀 ㅠㅠ [3] file 푸팅 2010.05.10
리눅스 기초 보안처리 [1] 일모도원 2010.06.27
관리자에게 무제한 추천기능 부여 (XE Core 수정) [8] sejin7940 2010.06.30
일반 회원이나 손님도, 제목의 글자색상 및 굵기 설정 가능하게. [1] sejin7940 2010.07.14
회원확장정보 변수 (출처:sMaker) [5] 시니시즘 2010.07.19
모바일 레이아웃 로그인페이지 개선방법 [4] 스카이피아 2010.08.01
무분별한 스팸글 등록으로부터 임시해결 팁 [15] file 라르게덴 2010.08.12
레이아웃 자작시 생기는 회원 모듈과의 충돌 [1] file ZHANG™ 2010.08.15
플래시, 선택박스(??)가 로그인 박스 등을 튀어 나올 때 [4] file hhgyu 2010.08.26
어느날 로그인이 안된신다면..? 이걸 점검을.. 청개굴이 2010.09.13
아무 에러 없이 로그인이 되지 않을 시 해결법 [1] SMaker 2010.09.13
css 배경이미지가 잘린다 싶을때... ForHanbi 2010.09.14
로그인/로그아웃 시 그페이지에 그대로 남아있게하기. [4] 롤리^^ 2010.09.16
탈퇴한 회원이 재가입 못하게 막는 방법 & 탈퇴한 회원 정보 보전 방법 [9] sejin7940 2010.09.17