关于权限细分:让客服查看会员列表但不能编辑会员资料

2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家

ECSHOP的后台给管理员分配权限,很多都是笼统的,往往一个权限附带多个权限。比如客服在后台需要查看会员列表,包括会员名、邮箱、电话、积分、订单等,但默认如果给予查看会员列表的权限,就同时拥有编辑会员资料的权限,可以添加、删除会员,也可以修改会员等级、邮箱、电话号等,这就很扯蛋了。万一客服误操作,那不是损失一大片?
细化后台权限,做几个修改就可以办到了。

第一步,给权限列表添加语言项

在/languages/zh_cn/admin/priv_action.php 的会员管理权限中增加
$_LANG['users_list'] = '会员列表';
第二步,给数据表增加字段

在后台--数据库管理--SQL查询中,执行以下代码:.

INSERT INTO `ecs_admin_action` ( `action_id`, `parent_id`, `action_code`, `relevance` ) VALUES  ('136', '3', 'users_list', '');


第三步,给PHP文件修改权限检查方式
打开admin/users.php文件,找
if ($_REQUEST['act'] == 'list')

{

    /* 检查权限 */

把之下一行的
admin_priv('users_manage');
改为
admin_priv('users_list');

看到了吧,这里查看会员列表是可以manage的,也就是你查看的同时就可以编辑。
第四步,指定权限代码. 
打开/admin/include/inc_priv.php,把
$purview['03_users_list']        = 'users_manage';

修改为

$purview['03_users_list']        = 'users_list';

这里也是列表等于编辑。我们把它修改为看列表就是看列表,不要编辑。

第五步,后台分配权限
做以上修改后,管理员要重新勾选“会员列表”才有查看会员列表的权限,否则也会提示无操作权。
然后给客服分配权限的时候,仅勾“会员列表”,其余“会员管理、会员账户管理、会员余额管理”等通通不要勾选。