영카트5에서 상품삭제 최고관리자만 가능한 이유가 뭘까요? ^^;;
본문
관리권한설정 > 회원에게 상품관리 RWD 권한을 모두 설정했는데 설정한 회원이 상품관리 > 삭제를 하려고 하면 삭제버튼이 뜨질 않더라구요.
그래서 adm/shop_admin/itemlist.php 파일, 그리고 itemlistupdate.php 파일을 뜯어보니,
상품목록에서 선택삭제 버튼 자체가 최고관리자만 노출되도록 되어 있고,
update 시에도 한번 더 걸러내더라구요.
질문1.
특별히 최고관리자만 삭제를 해야하는 이유가 있을까요?
D 권한이 있으면 관리권한을 설정받은 회원도 삭제가 가능해야 할 것 같은데요.
질문2.
<?php if ($is_admin == 'super') { ?>
<input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value">
<?php } ?>
을
<input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value">
으로 수정
if ($is_admin != 'super')
alert('상품 삭제는 최고관리자만 가능합니다.');
을 삭제하여, 관리권한이 있는 회원은 상품삭제가 가능하도록 변경하려 하는데 어떤 문제가 있을까요?
질문3.
분류관리에서 분류추가 처럼, 최고관리자만 수행가능한 역할들이 있는데, 관리권한과 연계될 수는 없는 것일까요?
읽어주셔서 감사합니다. ^^ㅎ
답변 1
질문1. 권한설정은 해당 메뉴안의 기능 컨트롤 제어가 아닌
메뉴 접근 권한 제어 입니다. 따라서 거기서권한을 줘도 메뉴에 접근이 가능할 뿐
is_admin 으로 되어있는걸 컨트롤 할수는 없습니다.
이부분은 리자 님이 다시 답변을 주셔야 될꺼 같네요.
질문2. 제품 삭제쪽은 is_admin 부분을 빼도 문제는 없습니다.
다만 auth_check($auth[$sub_menu], 'd'); 으로 체크하기 때문에
관리권한에서 D권한은 주셔야 합니다.
질문3. 현재 영카트 구조상 최고관리자 와 관리권한을 연계하기 위해서는 소스상에서 예외조건을
추가해야 합니다.
if ($is_admin != 'super') 이부분을 if ($is_admin != 'super' || !strstr($auth[$sub_menu], 'd'))
이런식으로 변경하시면 될꺼 같네요.