웹마스터 팁

회원 관리자 두기..

2011.05.09 14:49

DaKi


먼저 이런 글을 써도 되는지, 이런식으로 수정해서 써도 되는지 잘 모르겠습니다만,
저를 비롯해서 회원관리자 계급을 따로 주고 싶은데 못하는 분들이 계셔서 글 남겨봅니다.
문제가 있다면 삭제해주셔도 좋습니다.

몇달전에 글 올린바 있지만, 최고관리자 권한을 가진 사람도 필요하지만,
가끔 회원관리만 해줄 사람이 필요하기도 하여, 관련하여 질문을 하였으나 답이 없어서 
한동안 잊어버리고 있다가 오늘 급하게 수정해서 쓰고 있습니다.

먼저 이방법에는 몇가지 문제점이 있습니다.
첫째로는, 회원관리자 역시 최고관리자 권한을 가지고는 있기 때문에, 그룹 변경만으로도 쉽게 최고관리권한을 갖을 수도 있게 됩니다.
둘째로는, 다른 admin 모듈로 직접 접근한다면 권한 행사를 할 수 있습니다.
이런 문제점을 가지고 있지만, 그래도 이용하시겠다는 분만 읽어주시면 감사하겠습니다.

제가 이용한 방법은, '최고관리자', '회원관리담당자' 이 둘로 그룹을 나누고,
이들 중, '최고관리자'에게만 admin 화면의 좌측과 상단 메뉴를 보이게 함으로써, 
다른 메뉴에 접근하지 못하도록 하는 편법입니다.
물론, '회원관리담당자' 에게도 최고관리자권한은 있어야 합니다.



수정하게될 파일은 ../modules/admin/tpl/_header.html 파일입니다.
Line 8.
<!--@if($logged_info->is_admin=='Y')-->
을 
<!--@if($logged_info->is_admin=='Y' && $logged_info->group_list[1])-->
로 바꾸어줍니다.
여기서 group_list[1] 부분의 경우, 저는 1이지만 '최고관리자' 그룹에 해당하는 숫자를 넣어주시면 됩니다.
아래 나올 모든 group_list[1] 부분이 모두 마찬가지 입니다.

Line 17.
<ul class="lnb">

<!--@if($logged_info->is_admin=='Y' && $logged_info->group_list[1])-->
<ul class="lnb">

Line 24.
</ul>

</ul>
<!--@end-->
로 바꾸어줍니다.

Line 30 부근. (위의 수정 때문에 라인 수가 다를 수 있습니다.)
<div class="section">
<div id="search_nav">

<div class="section">
<!--@if($logged_info->is_admin=="Y" && $logged_info->group_list[1])-->
<div id="search_nav">

Line 59 부근.
</ul>
</div>

</ul>
<!--@end-->
</div>

로 바꾸어줍니다.


위의 작업이 완료가 되면, 회원관리로 바로 가는 버튼만 변경해주시면 됩니다.
저의 경우는, 로그인 위젯에만 버튼이 있기 때문에,

<!--@if($logged_info->is_admin=="Y")-->
// admin이고 최고관리자 그룹이라면, admin페이지 보여주기
<!--@if($logged_info->group_list[1])-->
       <a href="{getUrl('','module','admin')}" onclick="window.open(this.href);return false;" title="{$lang->cmd_management}">[Admin]</a> / 
<!--@end-->
// admin이지만 최고관리자 그룹이 아니라면, admin의 회원관리페이지 보여주기.
<!--@if(!$logged_info->group_list[1])-->
       <a href="{getUrl('','module','admin','act','dispMemberAdminList')}" onclick="window.open(this.href);return false;" title="{$lang->cmd_management}">[Admin]</a> / 
<!--@end-->
<!--@end-->

이런식으로 사용하고 있습니다.



위에서 밝힌 것 처럼, 단점이 많은 편법입니다.
최고관리자와 같은 권한이 있지만, 메뉴를 감춤으로써 이용하지 못하게 막을 뿐입니다.
만약, 회원관리자가 XE 시스템에 대해 잘 알거나, 조금만 연구를 한다면 금방 문제가 발생할 수 있습니다. 자기 자신의 그룹을 최고관리자로 바꾸는 것 만으로 모든 메뉴가 보이기 때문에 최고관리자 권한을 갖을 수 있습니다. module의 이름을 알아내어 직접 액세스한다면 역시 같은 권한을 행사할 수 있습니다.
또, admin페이지로 가는 버튼이 몇군데 있는데, 이 버튼을 이용하여 admin 페이지로 이동하게 되면, admin 페이지에 링크되어있는 메뉴(게시글, 댓글, 트랙백, 첨부파일, 환경설정)에 접근할 수 있게 됩니다.
(이 부분을 막으려면, 위 파일과 같은 폴더에 있던 index.html을 수정하셔야 합니다.)

감사합니다.
제목 글쓴이 날짜
회원 관리자 두기.. DaKi 2011.05.09
비회원이 게시글 추천할수있게하는방법 [4] file 토끼매니아 2011.08.03
글읽기 권한 없을때 회원가입창으로 유도하는 방법 (XE1.5수정) [10] sejin7940 2011.08.23
직접 ftp를 이용하여 게시물과 회원정보등 데이터 베이스 백업이 가능한가요 [1] 뉴늅 2011.09.06
특정 확장변수를 로그인한 회원에게만 보이게 하기 [3] 비밀얌 2011.09.17
갑자기 로그인(관리자 및 회원)이 안되는 경우 [2] 비밀얌 2011.10.02
관리툴 회원관리에서 확장변수로 검색 시 숫자 이외 검색불가 해결 방법 카리브 2011.10.10
비회원도 추천가능하게 하기 (1.5기준설명) [3] 빽짱구 2011.11.18
회원가입시 '비밀번호 찾기 질문/답변' 항목이 나오질 않고 회원설정에서 설정불가능 file 머구리 2011.11.25
휴대폰 인증 회원에 한해 지정한 내용 보여주기 도라란 2011.11.25
XE 1.5.0.9부터 회원가입 비밀번호 찾기 질문/답변때문에 고생하셨던분들을 위한 해결방안 [2] 라미아스튜디오 2011.11.27
코어 1.5.1에서 회원정보에 성별아이콘 쓰기 file 늘푸른이 2011.12.10
코어 1.5.1에서 회원목록에 성별아이콘 쓰기(수정) 늘푸른이 2011.12.10
회원 가입 시 IP 중복 검사 [30] file CMD 2012.02.24
로봇에 의하여 무한 회원가입이 발생할 때 제가 처리하는 방법 [3] 별님왕자 2012.02.27
ie9에서 회원가입폼 클릭이 안될때 엔키오 2012.03.01
[공유]로그인 하지 않아도 게시판에서 회원정보 출력 하기 (가입품 확장변수 포함) [6] file rminkim 2012.03.20
그룹별 회원정보 검색 & 회원의 추가가입폼 복수 검색 팁 (XE 1.5) sejin7940 2012.03.22
회원가입폼 비밀번호 찾기 질문/답변 삭제및 필수항목 선택 (송동우님 팁) 때린데 또때려 2012.04.08
회원가입폼 비밀번호 찾기 질문/답변 삭제및 필수항목 선택 (송동우님 팁) [8] 때린데 또때려 2012.04.09