e起飞young
一个前端码农的技术博客
phpcms v9“某个角色对某个操作无权限”的解决方案
[ 2016/07/22 ]

某个角色对某个操作无权限,用超管设置了也不顶用,该怎么办呢?

1.治标不治本的办法(因为如果重新提交一次该角色的权限时会重置数据表中的数据)

很简单哒,角色权限是保存在v9_admin_role_priv表中的,所以只需要在这张表中再插入适当的数据即可。

以“角色id为2的账号不能对广告列表进行排序”为例,广告模块名称为poster,排序对应的控制器名称为poster,排序事件名称为listorder(tip:如果实在不熟悉,最简单粗暴的方法就是右键查看源代码啦),然后进入数据库,执行下列语句就OK啦:

INSERT INTO `v9_admin_role_priv` (`roleid`, `m`, `c`, `a`, `data`, `siteid`) VALUES
(2, 'poster', 'poster', 'listorder', '', 1);

如果需要插入多条:

INSERT INTO `v9_admin_role_priv` (`roleid`, `m`, `c`, `a`, `data`, `siteid`) VALUES
(2, 'poster', 'poster', 'listorder', '', 1),
(3, 'poster', 'poster', 'listorder', '', 1);

说明:

(`roleid`, `m`, `c`, `a`, `data`, `siteid`)

对应

(角色id, '模块名称', '控制器名称', '事件名称', '附加参数', 站点id)

2.治本的方法

即在 后台>扩展>菜单管理 中添加对应菜单,然后再重新赋予权限,以“无法给角色【对广告模块的广告列表进行排序】权限”为例:

首先,添加菜单,如下图

QQ截图20160806190306.jpg

然后再赋予该权限即可,如下图

QQ截图20160806190530.jpg

OK,大功告成啦!

有朋自远方来...评论一下呗O(∩_∩)O

  • 搜索