>  기사  >  CMS 튜토리얼  >  phpcms가 열을 삭제할 수 없으면 어떻게 해야 합니까?

phpcms가 열을 삭제할 수 없으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2020-07-21 09:22:022293검색

phpcms는 사이트 관리자에게 열 삭제 권한이 없기 때문에 열을 삭제할 수 없습니다. 해결 방법: 먼저 "admin.class.php" 파일을 찾아 열고 열을 삭제할 수 있는 사이트 관리자 권한을 추가하세요. "category.php"” 파일을 수정하세요.

phpcms가 열을 삭제할 수 없으면 어떻게 해야 합니까?

phpcms는 열을 삭제할 수 없습니다. PHPCMS 사이트 관리자에게는 열을 삭제할 수 있는 권한이 없습니다.

phpcms V9에서는 최고 관리자를 제외한 다른 관리자에게는 열을 삭제하고 수정할 수 있는 권한이 없습니다. 시스템의 버그.

분석:

PHPCMS v9에서는 권한을 판단할 때 admin_role_priv 테이블에 기록된 권한만 결정합니다. 즉, 우리가 설정한 "열 권한"에 관계없이 역할을 설정할 때 수행하는 "권한 설정"입니다. admin:check_priv()에서 이 메서드가 열 권한을 고려하지 않는다는 것을 알 수 있습니다. 따라서 슈퍼 관리가 아닌 사용자를 사용하여 로그인할 때 열을 수정하거나 열을 삭제하면 "이 항목을 작동할 권한이 없습니다."라는 메시지가 표시됩니다.

위치: phpcms/modules/admin/classes/admin.class.php

권장: "phpcms tutorial"

해결책:

1. /phpcms/modules/admin/classes/admin.class를 찾으세요. , 아마도 177번째 줄에서

$r =$privdb->get_one(array('m'=>ROUTE_M,'c'=>ROUTE_C,'a'=>$action,'roleid'=>$_SESSION['roleid'],'siteid'=>$siteid));

를 찾은 다음 문장 아래에

//添加站点管理员的删除栏目权限 by:醒木
if(ROUTE_C == 'category'){
$catid = $_GET['catid'] ? $_GET['catid'] : $_POST['catid'];
//获取角色当前权限设置
pc_base::load_app_class('role_cat', '', 0);
$priv = role_cat::get_roleid($_SESSION['roleid'], $siteid);
if($priv[$catid][$action]) $r = true;
}

phpcms가 열을 삭제할 수 없으면 어떻게 해야 합니까?

2를 추가하세요. /phpcms/modules/admin/category.php에서

foreach ($arrchildid_arr as $arr_v) {
$this->update_priv($arr_v, $_POST['priv_groupid'], 0);
}

를 찾아 다음으로 변경하세요.

foreach ($arrchildid_arr as $arr_v) {
$this->update_priv($arr_v, $_POST['priv_roleid']); //添加站点管理员的删除栏目权限 by:醒木
$this->update_priv($arr_v, $_POST['priv_groupid'], 0);
}

phpcms가 열을 삭제할 수 없으면 어떻게 해야 합니까?

팁:

상품 수정 항목 추가 시 해당 상품 삭제 수정 권한을 꼭 확인해주세요.

위 내용은 phpcms가 열을 삭제할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.