웹마스터 팁
page_full_width">
[권한이 없습니다] 권한에 따른 다른 메시지 출력하기
2008.10.03 11:55
뭡니까?
어떻게 합니까
스샷은 귀찮아서..
권한이 없는 곳에 접근하면
[권한이 없습니다] 라고 뜹니다.
하지만, 회원별 등급을 나누어 운영하는 사이트의 경우,
메시지도 순화시키고, 어떤 등급이 필요한 것인지
(사실 노출 안되는것이 제일 편리하지만)
알려주기 위해서 수정해보았습니다.
[권한이 없습니다] 라고 뜹니다.
하지만, 회원별 등급을 나누어 운영하는 사이트의 경우,
메시지도 순화시키고, 어떤 등급이 필요한 것인지
(사실 노출 안되는것이 제일 편리하지만)
알려주기 위해서 수정해보았습니다.
어떻게 합니까
파일 몇 개 수정합니다.
1. 원하는 메시지를 마구마구 추가하세요
2. 권한 정보를 잠시 빼옵니다. 당장 해킹의 위험이 있는것은 아니지만, zbxe에서 원하는 객체지향적인면에서 권한을 알 필요가 없는 곳에서 권한을 가져온다는면에서 바람직하지는 않습니다만, 각오하고 쓰세요 ㅋㅋㅋㅋ
가운데 Context::set('grants', $this->module_info->grants); 를 추가하시는겁니다.
3. 지금은 board모듈에서 수정합니다. 다른 모듈도 비슷하게 시도해보세요..
위 파일 경우는, 사실 원래는 목록보기 권한이 없을 때 나올 메시지입니다만,
그냥 들어왔는데, 로그인해라길래 들어오니까 등급이안된다고 안보여주면 짜증나니까
한번에 필요한 큰 권한을 알려주는..? 뭐 알아서 잘 편집하세요 ㅋ
소스 건드실 분들은 아시겠지만, 저기 2,3,4들은 group_srl입니다. 직접 값을 모르시면 잘 찾아보세요...
추가) 관리자로 로그인하셔서 관리 -> 회원 -> 그룹관리 -> 해당 그룹의 수정 링크의 속성에서 링크 주소를 보시면 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에서 원하는 객체지향적인면에서 권한을 알 필요가 없는 곳에서 권한을 가져온다는면에서 바람직하지는 않습니다만, 각오하고 쓰세요 ㅋㅋㅋㅋ
182 183 184 185 186 187 188 189 | // 권한변수 설정 $this ->grant = $grant ; Context::set( 'grant' , $grant ); // 권한값을알기위한설정 Context::set( 'grants' , $this ->module_info->grants); if (method_exists( $this , 'init' )) $this ->init(); |
3. 지금은 board모듈에서 수정합니다. 다른 모듈도 비슷하게 시도해보세요..
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | /** * @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' ); } |
그냥 들어왔는데, 로그인해라길래 들어오니까 등급이안된다고 안보여주면 짜증나니까
한번에 필요한 큰 권한을 알려주는..? 뭐 알아서 잘 편집하세요 ㅋ
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | // 글 보기 권한을 체크해서 권한이 없으면 오류 메세지 출력하도록 처리 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 { |
추가) 관리자로 로그인하셔서 관리 -> 회원 -> 그룹관리 -> 해당 그룹의 수정 링크의 속성에서 링크 주소를 보시면 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
-
제가 답글을 달아도 될지...
아직 저도 테스트를 안해봐서 정확한 답변은 아니지만 아마 맞을 것 같아서 글 남깁니다.
관리자화면 - 회원 - 그룹관리 에서 그룹제목에서 해당그룹의 수정에 우측마우스 속성을 클릭해 보면
http://도메인/?module=admin&act=dispMemberAdminGroupList&group_srl=1
여기서 group_srl=1이 위에서 말하는 그룹의 번호일 것 같군요. -
반도체맨
2008.10.03 17:51
중요한 설명 없이 올려서 죄송합니다 ^^; -
도움이 되는 팁 감사합니다.
그런데요.
글쓰기 중 "더보기" 부분은 어떻게 하신 건가요? -
파파민
2008.10.03 15:00
에디터 아래줄 아이콘 좌측에서 5번째 "인용구 작성" 기능입니다. ^^ -
오! 이것을 응용하면 그룹별로 목록 유,무 및 기타설정이 가능하겠네요.
감사합니다. -
반도체맨
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에 사용하려면 어떻게 해야 할까요??
제목 | 글쓴이 | 날짜 |
---|---|---|
메뉴 클릭시 알림메시지 띄우기 [1] | 도라란 | 2011.02.27 |
이미지 삽입후 이미지 위에 노란색 박스 사라지게하는 법 [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 |
당황스럽겠는데요.
소스 건드실 분들은 아시겠지만, 저기 2,3,4들은 group_srl입니다
소스 못건드리는 분들은 어떻게 대처해야됩니까, 234는 뭘 가르치는지 어려울수도 있을것 같습니다.
234는 아래 주황색 굵은 글씨를 말씀하시는건가요?
자세한 설명이 없으면 초보분들에게는 팁이 아니라 한편의 자유게시글과 비슷합니다.