我自己重新弄了权限设置部分?分享给大家

2016-07-07 15:04 来源:www.chinab4c.com 作者:ecshop专家

关于权限设置我碰到了个问题
就是:
我的创始人是administrator
创建了一个管理员admin
这个管理员只具有一定的权限,但是他有创建管理员和分配权限 的权限。
这是就会出现 这个管理员不具有的权限都 可以看见可以分配给 他所创建的管理员。

而现在我的要求是:他自己要有的权限,才可以看见,才可以分配给别人。

我自己添加了一下代码
分享给需要的朋友。还希望各位高手不吝赐教。


  1. /* 按权限组查询底级的权限名称 */
  2. $sql = "SELECT action_id, parent_id, action_code FROM " .$ecs->table('admin_action').
  3. " WHERE parent_id " .db_create_in(array_keys($priv_arr));
  4. $result = $db->query($sql);
  5. while ($priv = $db->FetchRow($result))
  6. {
  7. $priv_arr[$priv["parent_id"]]["priv"][$priv["action_code"]] = $priv;
  8. }
复制代码


修改为


  1. /* 获得当前管理员的权限 // add by 4054499@qq.com */
  2. $curr_admin_id = $_SESSION['admin_id'];
  3. $priv_str_curr = $db->getOne("SELECT action_list FROM " .$ecs->table('admin_user'). " WHERE user_id = '$curr_admin_id'");
  4. /* end add*/
  5. /* 按权限组查询底级的权限名称 */
  6. $sql = "SELECT action_id, parent_id, action_code FROM " .$ecs->table('admin_action').
  7. " WHERE parent_id " .db_create_in(array_keys($priv_arr));
  8. $result = $db->query($sql);
  9. while ($priv = $db->FetchRow($result))
  10. {
  11. // add by 4054499@qq.com 管理员自己没有的权限将不能分配给别人
  12. if(strpos($priv_str_curr, $priv['action_code']) !== false || $priv_str_curr == 'all') {
  13. $priv_arr[$priv["parent_id"]]["priv"][$priv["action_code"]] = $priv;
  14. }
  15. }

复制代码

回答:
挺好 挺好的

不错的东西

这个功能很实用哈, 谢谢共享了,

好东西就要支持

好东西,支持!