ECSHOP后台权限分配原理分析
思路
- 在侧边栏里添加导航连接,连接到对应的控制器
- admin_action表里插入记录
parent_id=1,action_code=goods_cart_manage
- 权限界面里添加上这个权限的复选框(inc_priv.php)
- 控制器里添加验证的代码,
admin_priv('goods_cart_manage')
;
ecshop的权限管理非常灵活,设计也非常巧妙,他所有的权限,栏目操作和栏目的名称,都有非常紧密的联系。
步骤
所有的权限操作动作在ecs_admin_action表中,parent_id = 0的为顶级栏目,parent_id:1-11对应权限分配界面的11个栏目,其他子栏目的操作,都继承了parent_id 和顶级栏目关联起来.当你增加了后台栏目,需要给该栏目授权的时候,按下面步骤操作:
A1.左侧列表添加导航goods_cart_manage
导航
-
添加左侧导航栏上goods_cart_manage
在
admin\includes\inc_menu.php
中增加$modules['02_cat_and_goods']['goods_cart_manage'] = 'goods_cart_manage.php?act=list'
; -
定义goods_cart_manage的中文名字
-
['goods_cart_manage']
是在languages\zh_cn\admin\common.php
里定义的中文名称$_LANG['goods_cart_manage'] = '购物车管理'
; //这样goods_cart_manage
就会显示为购物车管理
A2.在admin_action表里插入记录
parent_id=1,action_code=goods_cart_manage
A3.inc_priv.php
中给栏目( goods_cart_manage.php?action=list
)定义权限为goods_cart_manage
-
定义权限.
在
admin\includes\inc_priv.php
中,你可以增加$purview['goods_cart_manage'] = 'goods_cart_manage'; //那么这个栏目(
goods_cart_manage.php?action=list`)将用goods_cart_manage来控制权限. -
定义为成中文名字
在
anguages\zh_cn\admin\priv_action.php
中定义goods_cart_manage
的中文名字$_LANG['goods_cart_manage'] = '购物车管理';
,
权限管理->管理员列表->授权 会显示相应权限
你可以给予授权,权限管理在电子商务系统中特别重要,需要划分合理,安全划分.
A4.程序中检测权限
- 程序中,也就是在
goods_cart_manage.php
中,用函数admin_priv('goods_cart_manage')
来检测权限;
来源:中国B4C电子商务