phpcms--权限问题,父栏目权限应用到子栏目不管用

其实这个问题后来发现官方bbs上有解决,和自己实现的方法本质一样,我是增加的更多的代码来直接修改category_priv表

看到官方上面的方法后感觉自己的实现太麻烦,这里复制官方的方法



修复方法:
在 /phpcms/modules/admin/category.php 中

  1. foreach ($arrchildid_arr as $arr_v) {
  2.        $this->update_priv($arr_v, $_POST['priv_groupid'], 0);
  3.       }
复制代码

改为
  1. foreach ($arrchildid_arr as $arr_v) {
  2.        $this->update_priv($arr_v, $_POST['priv_roleid']);
  3.        $this->update_priv($arr_v, $_POST['priv_groupid'], 0);
  4.       }
复制代码

但是还有一个问题很多人没有注意,那就是这个方法就算解决了这个问题,可还是会出现新添加的子分类得不到权限

因为子分类在添加的时候上面的函数已经执行过了,应该在添加子分类的时候再次执行上面的方法,不过执行之后还是会有问题,如果你以前的子分类

设置过了不同于父栏目的个性权限,问题有回来了,你又错误的把权限重新设置了一次。

 

问题清楚了,那么如果只是解决新添加分类问题,可以把相关函数添加到

/**
     * 添加栏目
     */
    public function add() {}

这个函数中。

如果要解决子栏目设置不同权限问题就因该只复制父栏目的权限给新添加的函数。

posted @ 2011-12-31 00:07  fsl  阅读(1467)  评论(0编辑  收藏  举报