XpressEngine Wiki
Status: Abandoned
Brought to you by:
yyj9411
http://code.google.com/p/xe-core/issues/detail?id=2363
권환 관련 반환 값 중 grant와 group 값을 사용. grant는 all, member, site, group 값을 가질 수 있음.
default
해당 모듈의 기본 값.
grant
관리자가 설정하여 DB에 저장된 값.
group_srls
grant가 group일 경우 해당 되는 group_srl를 배열로 넘겨 줌.
* 메뉴 권한 관련 api 호출 예제 var params2 = new Array(); var response_tags2 = new Array('grantList'); params2['target_module'] = 'board'; params2['module_srl'] = '106'; exec_xml("module","getModuleAdminGrant", params2, completeTmp, response_tags2); { "message_type":"", "grantList":{ "access":{ "title":"접근 권한", "default":"guest" }, "list":{ "title":"목록", "default":"guest" }, "view":{ "title":"열람", "default":"guest" }, "write_document":{ "title":"글 작성", "default":"guest", "grant":"group", "group_srls":{ 1, 2, 3 } }, "write_comment":{ "title":"댓글 작성", "default":"guest", "grant":"member" }, "manager":{ "title":"관리 권한", "default":"manager" } }, "error":0, "message":"success" }
메뉴 노출 대상 설정은 다음과 같은 방법으로 사용. index.php?module=menu&menu_item_srl=메뉴번호&act=getMenuAdminItemInfo
보여 주어야 할 그룹 목록은 returnObj.groupList로 사용 가능. 선택된 그룹은 groupList.isChecked 값으로 확인.
grant
관리자가 설정하여 DB에 저장된 값.
group_srls
grant가 group일 경우 해당 되는 group_srl를 배열로 넘겨 줌.
* 그룹 리스트 관련 api 호출 예제 var params = new Array(); var response_tags = new Array('menu_item'); params['menu_item_srl'] = '62'; exec_xml("menu","getMenuAdminItemInfo", params, completeTmp, response_tags); { "message_type":"", "menu_item":{ "grant":"group", "group_srls":[ 1, 2, 3 ], "moduleType":"", "groupList":[ { "group_srl":"1", "title":"관리그룹", "isChecked":false }, { "group_srl":"2", "title":"준회원", "isChecked":false }, { "group_srl":"3", "title":"정회원", "isChecked":false } ], "name_key":"", "name":"" }, "error":0, "message":"success" }
권한 저장하기는 모듈의 권한과 노출권한 모두 한번에 저장합니다. 다음과 같은 방법으로 저장 가능합니다.
cf. 권한 이름의 경우 module conf에 정의된 권한 이외에 access, manager는 기본으로 들어가야 함. 따라서 해당 내용 역시 기본으로 전송이 되어야 함.
var params = { menu_item_srl : '41368', exposure : -1, htPerm : { 'list' : -1, 'write_document' : -1, 'manager' : ['100', '200', '300'] } }; jQuery.exec_json("menu.procMenuAdminUpdateAuth", params, function(htData){console.log(htData);}); { "error":0, "message":"success" }