2022年ECSHOP源码分析 .pdf

上传人:C****o 文档编号:39729971 上传时间:2022-09-07 格式:PDF 页数:9 大小:454.59KB
返回 下载 相关 举报
2022年ECSHOP源码分析 .pdf_第1页
第1页 / 共9页
2022年ECSHOP源码分析 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年ECSHOP源码分析 .pdf》由会员分享,可在线阅读,更多相关《2022年ECSHOP源码分析 .pdf(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1 ECSHOP源码分析(权限系统)第一部分ecshop权限系统介绍(这部分熟悉了的朋友可以直接跳过,进入第二部分的代码分析)这里是后台管理员的列表,我这里以admin 管理员登陆进入后台的,admin管理员拥有所有的权限。图 1 后台管理员列表如果想为某位管理员分派权限,点击分派权限按钮以后就会出现下面图片中的内容名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 9 页 -2 图 2 分派权限图商品管理、文章管理、会员管理等都被精细的分成更多小的权限。图中的每一 项 小 的 权 限 都 在 数 据 库 表 中 对 应 一 个 列 数 据。它 被 储 存 在 数 据 表ecs_ad

2、min_action中。图 3 ecs_admin_action权限表的部分数据该表中的 action_code字段的值就是对应着各个权限。这个权限系统还涉及到另外一张表 ecs_admin_user,下面的图片是表记录中的某一行记录,包括了这名管理员的一些基本信息。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 9 页 -3 图 4 ecs_admin_user 表中记录中的其中一行与 权 限 相关 的字 段 是 action_list,从 以 上 图 片 中 可 以 看 到 用户 名 为bjgonghuo1 的管理员所有的权限在字段action_list 中,action_l

3、ist 里面用逗号分割开的值对应着权限表ecs_admin_action中 action_code的值。所以我要知道某个管理员的拥有哪些权限只需要查询这个ecs_action_user 表中的 action_list 字段。不同权限的管理员从后台登陆进去以后,看到的管理菜单是不一样的。下面图片是拥有全部权限的admin管理员登陆以后的管理菜单。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 9 页 -4 图 5 管理员 admin 的权限管理菜单以 test03管理员登录后台看到的权限菜单则是名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 9 页 -5 图 6 管理

4、员 test03的后台权限管理菜单名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 9 页 -6 第二部分代码分析登陆某管理员登录的时候,就需要查询权限表,并将该管理员的权限放在session中。if(md5($rowpassword.$_CFGhash_code)=$_COOKIEECSCPadmin_pass)!isset($rowlast_time)&$rowlast_time=;set_admin_session($rowuser_id,$rowuser_name,$rowaction_list,$rowlast_time);以上这段代码在ecshop/upload/adm

5、in/includes/init.php的 253 行附近。其中 set_admin_session函 数用 来 将一 些 信 息记 录 到 session 中去 的,$row action_list 存储了该管理员拥有了那些权限。set_admin_session 函数在 ecshop/upload/admin/includes/lib_mains.php/*设置管理员的session内容*access public*param integer$user_id 管理员编号*param string$username 管理员姓名*param string$action_list 权限列表*pa

6、ram string$last_time 最后登录时间*return void*/function set_admin_session($user_id,$username,$action_list,$last_time)$_SESSIONadmin_id=$user_id;$_SESSIONadmin_name=$username;$_SESSIONaction_list=$action_list;$_SESSIONlast_check=$last_time;/用于保存最后一次检查订单的时间 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 9 页 -7 分派权限某管理员为其他管

7、理员分派权限的相关代码位于ecshop/upload/admin/privilege.php文件中/*-*/-为管理员分配权限/*-*/elseif($_REQUESTact=allot)/该包含文件是ECSHOP 权限名称语言文件,主要用于多语言网站include_once(ROOT_PATH.languages/.$_CFGlang./admin/priv_action.php);/*判断该管理员是否拥有“allot_priv”权限,拥有allot_priv权限的管理员才能为其他用户设置权限*/admin_priv(allot_priv);if($_SESSIONadmin_id=$_GE

8、Tid)admin_priv(all);/*获得该管理员的权限*/$priv_str=$db-getOne(SELECT action_list FROM .$ecs-table(admin_user).WHERE user_id=$_GETid);/*如果被编辑的管理员拥有了all 这个权限,将不能编辑*/if($priv_str=all)$link=array(text=$_LANGback_admin_list,href=privilege.php?act=list);sys_msg($_LANGedit_admininfo_cannot,0,$link);/*获取权限的分组数据*/$s

9、ql_query=SELECT action_id,parent_id,action_code FROM .$ecs-table(admin_action).WHERE parent_id=0;$res=$db-query($sql_query);名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 9 页 -8 while($rows=$db-FetchRow($res)$priv_arr$rowsaction_id=$rows;/*按权限组查询底级的权限名称*/$sql=SELECT action_id,parent_id,action_code FROM .$ecs-table(

10、admin_action).WHERE parent_id .db_create_in(array_keys($priv_arr);$result=$db-query($sql);while($priv=$db-FetchRow($result)$priv_arr$privparent_idpriv$privaction_code=$priv;admin_priv 函数位于 ecshop/upload/admin/lib_main.php 第 162 行附近/*判断管理员对某一个操作是否有权限。*根据当前对应的action_code,然后再和用户session里面的 action_list做匹

11、配,以此来决定是否可以继续执行。*param string$priv_str 操作对应的priv_str*param string$msg_type 返回的类型*return true/false*/function admin_priv($priv_str,$msg_type=,$msg_output=true)global$_LANG;if($_SESSIONaction_list=all)return true;if(strpos(,.$_SESSIONaction_list.,.$priv_str.,)=false)$link=array(text=$_LANGgo_back,href

12、=名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 9 页 -9 javascript:history.back(-1);if($msg_output)sys_msg($_LANGpriv_error,0,$link);return false;else return true;权限对应左侧导航菜单不同权限的管理员需要对应着做梦不同的左侧的导航菜单首先需要有个权限左侧导航的对照表,需要以下两个文件Ecshopuploadadminincludesinc_menu.php Ecshopuploadadminincludesinc_priv.php 具体代码位于 admin/index.php第 67行附近开始。这一实现过程有些复杂,暂不做分析。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 9 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com