20150115--SHOP项目架构+后台权限管理-02

后台权限管理

获取登录界面

后台权限管理php文件成为权限管理模块。处理多个跟权限相关的功能。

1. 在后台新增一个叫做权限的php文件:/admin/privilege.php

clip_image002

2. 用户请求该文件的第一出发点:为了获得一个登录表单。privilege.php要做的第一件事情:就是给用户提供一个登录表单。

用户不允许直接请求html模板文件,只允许请求对应的根目录下的php文件。

clip_image004

3. 将ecshop下面的样式文件和js文件和图片文件全部搬过来,放到后台admin目录下对应的js和styles和images下面。

clip_image006

登录验证

1. 要确定当前登录表单的提交对象是谁?因为登录验证属于权限验证的范围,提交的对象是privilege.php。/admin/templates/login.html

clip_image008

2. 为了告诉服务器当前的请求的操作是什么,给所有的每次请求都携带数据(参数),如果是get请求在超链接之后增加一个数据,如果是post请求,在表单中增加一个数据(隐藏域)。/admin/templates/login.html

clip_image010

3. 服务器要接收数据:/admin/privilege.php

clip_image012

4. 判断动作,根据不同的动作做不同的操作。

clip_image014

5. 接收用户信息。/admin/privilege.php|act=check

clip_image016

6. 验证数据的合法性。/admin/privilege.php|act=check

clip_image018

7. 增加公共文件:设置浏览器的显示字符集和跳转

a) 显示字符集。/admin/includes/init.php

clip_image020

加载初始化文件:任何一个可以被用户直接请求的php文件的第一件事应该加载初始化文件。/admin/privilege.php

clip_image022

b) 网站文件夹对应的绝对路径常量

clip_image024

c) 增加后台的跳转函数。函数是功能,不是初始化,因此应该单独存在于一个文件。/admin/includes/functions.php,存放所有的公共方法

clip_image026

因为每个被请求的php脚本都有可能用到跳转函数,所以需要为每个php文件在一开始的时候就加载跳转函数:admin/includes/init.php

clip_image028

d) 增加一个系统控制函数,控制系统的错误处理:ini_set(),当前经过这个函数的设置之后,配置文件临时生效。admin/includes/init.php

clip_image030

8. 验证用户信息的有效性:判断当前用户信息在数据库是否存在。

a) 搭建数据库环境

clip_image032

b) 所有的数据库的操作,都应该由对应的DB类去操作。将DB类放到/includes/DB.class.php

clip_image034

c) 修改DB类,适应项目。

clip_image036

给数据库类DB,增加表前缀

clip_image038

d) 任何一张表的操作都应该是单独封装一个类来实现,而对应的类调用DB类里面的方法去实现。/admin/includes/User.class.php

clip_image040

e) 在权限管理文件中,需要对user表进行操作的地方(增删改查)得到该类的对象,然后去进行数据库的操作。/admin/privilege.php|act=check

clip_image042

f) 自动加载类。/admin/includes/functions.php

clip_image044

g) 增加一个验证用户信息的方法:/admin/includes/User.class.php

clip_image046

h) 判断数据库的查询结果,根据结果做不同的操作。/admin/privilege.php|act=check

clip_image048

配置文件

1. 在前台增加一个配置文件,用来配置系统的相关的设置信息:数据库信息。/config/config.php

clip_image050

2. 增加配置文件的绝对路径。/admin/includes/init.php

clip_image052

3. 加载配置文件。在init中加载,因为每次请求都需要连接数据,而每次请求也都需要加载init.php。/admin/includes/init.php

clip_image054

4. 在DB类的构造方法使用$config配置信息。/includes/DB.class.php

clip_image056

代码流程

clip_image058

首页功能

首页功能就是对应的index.php,首页的功能就是将首页的框架正常显示。所有跟首页显示相关的模板都应该请求index.php。

1. 判断用户的动作,先接收动作。

clip_image060

2. 加载初始化文件:/admin/index.php

clip_image062

3. 要根据不同的动作做不同的事情,加载主框架

clip_image064

4. 修改框架内部的请求对象。/admin/templates/index.html

clip_image066

5. 根据不同的请求,加载不同的框架的部分。/admin/index.php

clip_image068

首页功能原理

clip_image070

原文地址:https://www.cnblogs.com/lifushan/p/5419422.html