蝉知企业内容管理系统的单页列表页面无权限问题

2016-03-04 16:41:00
hainuo
原创 1418
摘要:蝉知 单页列表没有权限问题
1.不显示 只需要 修改一处即可 `/system/module/page/control.php 的index方法` 将 `$pages = $this->loadModel('article')->getList('page', 0, $orderBy = null);` 改为 `$pages = $this->loadModel('article')->getList('page', 0, $orderBy = 'editedDate'); ` 即可 不显示是因为sql错误,orderby为空 2. 权限问题出在这里 `/system/module/common/model.php `的` if(!commonModel::hasPriv($module, $method)) $this->deny($module, $method);` 进入`hasPriv()`方法 发现是这一句在搞怪 `if(!commonModel::isAvailable($module)) return false;` 进入`isAvailable()`方法后发现问题出来依赖模块上代码如下 ``` /* Check whether dependence modules is available. */ if(!empty($config->dependence->$module) ) { var_dump($config->dependence->$module); // $module is page dump is contribution foreach($config->dependence->$module as $dependModule) { var_dump($config->site->modules);//dump is article,product,message,search,stat if(!sset($config->site->modules) or strpos($config->site->modules, $dependModule) === false) return false; } } ``` 这里的判断`strpos($config->site->modules, $dependModule) === false ` 在`module` 为`page`时 恒为`true` 所以 返回错误 就到值`deny()`方法被执行了。 我的处理方法噶、 这里我稍微变动了下 将` if(!sset($config->site->modules) or strpos($config->site->modules, $dependModule) === false) return false` 改为 `if(!sset($config->site->modules) and strpos($config->site->modules, $dependModule) === false) return false; `改动为 `or` >>>` and` 这个时候page页面正常显示 (url: http://blog.hainuo.info/page/ ) 贴出来希望 蝉知的开发人员看看是否会出现其他问题 本修改基于蝉知 5.1 官方 zip包,未做任何改动
发表评论
伍 减 柒 =
评论通过审核后显示。