首页 > Web开发 > 详细

PHPCMS2008栏目分权限子类继承父类的解决办法

时间:2014-04-02 03:11:42      阅读:289      评论:0      收藏:0      [点我收藏+]

在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);

PHPCMS2008栏目分权限子类继承父类的解决办法,布布扣,bubuko.com

PHPCMS2008栏目分权限子类继承父类的解决办法

原文:http://blog.csdn.net/yh_bxhl/article/details/22760979

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!