웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[권한이 없습니다] 권한에 따른 다른 메시지 출력하기
2008.10.03 11:55
뭡니까?
어떻게 합니까
스샷은 귀찮아서..
권한이 없는 곳에 접근하면
[권한이 없습니다] 라고 뜹니다.
하지만, 회원별 등급을 나누어 운영하는 사이트의 경우,
메시지도 순화시키고, 어떤 등급이 필요한 것인지
(사실 노출 안되는것이 제일 편리하지만)
알려주기 위해서 수정해보았습니다.
[권한이 없습니다] 라고 뜹니다.
하지만, 회원별 등급을 나누어 운영하는 사이트의 경우,
메시지도 순화시키고, 어떤 등급이 필요한 것인지
(사실 노출 안되는것이 제일 편리하지만)
알려주기 위해서 수정해보았습니다.
어떻게 합니까
파일 몇 개 수정합니다.
1. 원하는 메시지를 마구마구 추가하세요
2. 권한 정보를 잠시 빼옵니다. 당장 해킹의 위험이 있는것은 아니지만, zbxe에서 원하는 객체지향적인면에서 권한을 알 필요가 없는 곳에서 권한을 가져온다는면에서 바람직하지는 않습니다만, 각오하고 쓰세요 ㅋㅋㅋㅋ
3. 지금은 board모듈에서 수정합니다. 다른 모듈도 비슷하게 시도해보세요..
그냥 들어왔는데, 로그인해라길래 들어오니까 등급이안된다고 안보여주면 짜증나니까
한번에 필요한 큰 권한을 알려주는..? 뭐 알아서 잘 편집하세요 ㅋ
추가) 관리자로 로그인하셔서 관리 -> 회원 -> 그룹관리 -> 해당 그룹의 수정 링크의 속성에서 링크 주소를 보시면 group_srl=숫자 가 나옵니다. 이 숫자가 해당 그룹의 시리얼넘버이구요, 저기 '2', '3'등과 같이 있는 곳에 해당 숫자를 넣으시면 됩니다 :)
1. 원하는 메시지를 마구마구 추가하세요
$lang->msg_not_permitted_member1 = '당신 빼고 다 열람 가능합니다 :)';
$lang->msg_not_permitted_member2 = '잘생긴 사람 이상 열람 가능합니다 :)';
$lang->msg_not_permitted_member3 = '로그인 후 열람 가능합니다 :)';
(코드 입력기가 잘 작동안하네요;; common/lang/ko.lang.php입니다.)$lang->msg_not_permitted_member2 = '잘생긴 사람 이상 열람 가능합니다 :)';
$lang->msg_not_permitted_member3 = '로그인 후 열람 가능합니다 :)';
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'등과 같이 있는 곳에 해당 숫자를 넣으시면 됩니다 :)
스샷은 귀찮아서..
태그 연관 글
- [2021/01/21] 묻고답하기 메일인증 에러(고급 메일 발송 모듈)을 이용
- [2019/06/11] 묻고답하기 첨부파일 본문 삽입 다운로드 에러 *2
- [2018/08/29] 묻고답하기 로그인해야만 사이트가 보여요 *2
- [2018/06/15] 묻고답하기 서버 설치 처음이라서 많은 도움 부탁드립니다 *1
- [2017/07/18] 묻고답하기 게시판 공개 권한 질문 드려요 도와 주세요ㅠㅠ *2
댓글 10
-
Gnee
2008.10.03 13:56
-
팔공산
2008.10.03 14:25
제가 답글을 달아도 될지...
아직 저도 테스트를 안해봐서 정확한 답변은 아니지만 아마 맞을 것 같아서 글 남깁니다.
관리자화면 - 회원 - 그룹관리 에서 그룹제목에서 해당그룹의 수정에 우측마우스 속성을 클릭해 보면
http://도메인/?module=admin&act=dispMemberAdminGroupList&group_srl=1
여기서 group_srl=1이 위에서 말하는 그룹의 번호일 것 같군요. -
반도체맨
2008.10.03 17:51
중요한 설명 없이 올려서 죄송합니다 ^^; -
느까끼
2008.10.03 14:00
도움이 되는 팁 감사합니다.
그런데요.
글쓰기 중 "더보기" 부분은 어떻게 하신 건가요? -
파파민
2008.10.03 15:00
에디터 아래줄 아이콘 좌측에서 5번째 "인용구 작성" 기능입니다. ^^ -
팔공산
2008.10.03 14:16
오! 이것을 응용하면 그룹별로 목록 유,무 및 기타설정이 가능하겠네요.
감사합니다. -
반도체맨
2008.10.03 17:20
네 80san님이 알려주신방법이 맞습니다..아침에 귀찮아서.. 그냥 생략했네요도움 감사합니다 :) -
☜ TeRy ☞
2008.10.03 19:04
권한이 없다는 메세지를알린후 특정 페이지로 이동시킬려면 어떻게 해야할까요?
회우너 강비 페이지로 이동시키려면요, -
반도체맨
2008.10.03 19:08
http://www.zeroboard.com/?mid=zbxe_user_tip&search_target=title&search_keyword=권한&document_srl=16085704이부분 참고하면 될것같습니다 :) -
paulryu03
2011.02.26 13:04
정말 저에게 필요한 팁이라서 지금 적용시켜봤는데,, 최신 XE 코어(1.4.4.4)와 XE Board(1.2)로는 안되는 것 같습니다. 최신 XE에 사용하려면 어떻게 해야 할까요??
제목 | 글쓴이 | 날짜 |
---|---|---|
이미지 삽입후 이미지 위에 노란색 박스 사라지게하는 법 [5] | dhseo | 2008.05.28 |
웹페이지에 마우스 따라다니는 예쁜 시계를 넣자 [5] | gosoo99 | 2008.04.08 |
메뉴에서 채팅방 띄우기 용도로 쓰는 스크립트 | 코아 코스튬 | 2011.01.30 |
XE 검색 속도 향상 팁(확장 변수 검색시) [5] | 명드래곤 | 2011.02.26 |
[권한이 없습니다] 권한에 따른 다른 메시지 출력하기 [10] [1] | 반도체맨 | 2008.10.03 |
상담/신청 (쓰기만 가능한 게시판) 만들기 [10] | mmx900 | 2008.03.20 |
디자인 하시는 분에게 ~ 신기한 팁 (from IE) [2] | 999 | 2011.02.23 |
관리자 아이디로 작성한 비밀글을 특정인이 볼수있도록 해주는 팁 [13] | Dreami | 2009.04.03 |
[중복일수도...] Srl 생성의 비밀???;;? [1] | RainDrop+ | 2011.02.22 |
관리권한 가져도 댓글이 수정/삭제 안 되는 경우.. [4] | sejin7940 | 2011.02.14 |
게시판모듈 글목록에서 분류명(카테고리)를 이미지로 표현하기 [4] | nalireco | 2011.01.06 |
해시로부터 주민등록번호 복호화 [2] | fallstoofast | 2008.03.12 |
IIS 7용 Rewrite | fsfsdas | 2011.02.20 |
nginx에서 대역폭 제한하기 | fsfsdas | 2011.02.20 |
MySQL db를 InnoDB로 바꾸기 (MyISAM to InnoDB) | fsfsdas | 2011.02.20 |
리눅스에서 디렉토리, 파일 용량 확인하기 | fsfsdas | 2011.02.20 |
우분투 charset을 euc-kr로 변경하기 | fsfsdas | 2011.02.20 |
우분투 10.04 LTS, 시스템 정보 보기 | fsfsdas | 2011.02.20 |
우분투 10.04 LTS, sendmail 설치 및 설정 | fsfsdas | 2011.02.20 |
우분투 10.04 LTS, SSH 사용자 접속 제한 | fsfsdas | 2011.02.20 |
당황스럽겠는데요.
소스 건드실 분들은 아시겠지만, 저기 2,3,4들은 group_srl입니다
소스 못건드리는 분들은 어떻게 대처해야됩니까, 234는 뭘 가르치는지 어려울수도 있을것 같습니다.
234는 아래 주황색 굵은 글씨를 말씀하시는건가요?
자세한 설명이 없으면 초보분들에게는 팁이 아니라 한편의 자유게시글과 비슷합니다.