PHPCMS2008栏目分权限子类继承父类的解决办法_PHP教程
Jul 13, 2016 am 10:32 AM
在PHPCMS2008中,可对每个栏目分配给不同角色的不同权限,是以栏目为出发点,这一点与我们一般情况从角色为出发点不对,因此其没有去实现栏目权限继承的功能。但在实际中创建了很多栏目后再分权时你就会发现分权工作很麻烦的问题,原因是子栏目不能继承父栏目,需要一个一个的分配。
针对这一点,我们也想到一个相对之策,即在判断其是否有权限的同时,如果其本身没有权限那就判断他的所有上级,如果上级都没有,那就没有,如果有一个上级有那它就有。
具体修改如下:
admin目录下的content.inc.php文件,大概在31行,找下这段代码
$allow_manage = $priv_role->check('catid', $catid, 'manage');
$allow_add = $allow_manage ? true : $priv_role->check('catid', $catid, 'add');
$allow_check = $allow_manage ? true : $priv_role->check('catid', $catid, 'check');
$allow_view = $allow_manage ? true : $priv_role->check('catid', $catid, 'view');
---------以上是原代码----------------------------------------------------------------
if(!$allow_manage){
$pcatid=get_brand_catid($catid);//此处为获取父级ID的函数。可以自己写一个递归。
$pcatid=$CATEGORY[$pcatid]['parentid'];
$allow_manage = $priv_role->check('catid', $pcatid, 'manage');
$allow_add = $allow_manage ? true : $priv_role->check('catid', $pcatid, 'add');
$allow_check = $allow_manage ? true : $priv_role->check('catid', $pcatid, 'check');
$allow_view = $allow_manage ? true : $priv_role->check('catid', $pcatid, 'view');
}
----------------以上是增加的代码----------------------------------------------------
$attachment = new attachment($mod, $catid);

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Root-Berechtigungen mit einem Klick aktivieren (schnell Root-Berechtigungen erhalten)

Entdecken Sie den Windows 11-Leitfaden: So greifen Sie auf Benutzerordner auf Ihrer alten Festplatte zu

Welche Berechtigungen sind zum Löschen von Dateien unter Linux erforderlich?

iOS 17: So steuern Sie, welche Apps auf Ihre Fotos zugreifen können

So legen Sie den Berechtigungszugriff im QQ-Bereich fest

Berechtigungen und Zugriffskontrollstrategien, auf die Sie achten müssen, bevor Sie einen Webserver unter CentOS erstellen

Wie implementiert man ein Rollenberechtigungsverwaltungssystem in PHP?

Berechtigungsverwaltung im Discuz-Forum: Lesen Sie den Leitfaden zur Berechtigungseinstellung
