网站管理员权限实现思路-自我想法!!
学习PHP有一段时间了,因为学习原生PHP,在模板引擎这块遇到了点挫折!现在跟着我朋友研究TP5,现有的MVC方式,感觉学起来还是比较方便的,等到了足够了解TP的时候,回来在学PHP,应该会有不一样的感觉了吧!
进入主题谈论一下我个人对于管理员权限的实现思路!我这个菜鸟级别程序员的思路,也许有错误。。希望大神可以稍微指点指点呀!我的思路是根据文章与栏目的关系划分想到的 如下:
1.数据库的创建
首先需要一个所有网站都必不可少的管理员数据表,接着就是权限分类表!这两张表的关系没有绝对的谁主谁附,就用管理员表为主接着说吧!!
这张是管理员表,字段分别是管理员ID,管理员登陆名,管理员密码,暂且就把TOKEN这个字段当做,管理员权限分类的容器吧!
这张是管理员权限分类的数据表,很简单就3个字段,权限分类的ID,名称,以及状态(状态是作用是让这个分类在创建管理员的时候是否显示);
2.操作细节
创建管理员的时候,form表单里把权限分类调用出来,!~主要调用权限分的ID~!创建完成之后,管理TOKEN字段里显示的数字就是你的权限分类ID!
3.权限划分具体实现的逻辑
如表所示,管理员A有着栏目A的操作权限,那样对于栏目A的编辑,发文章,删除文章的权限!
相应的也就是有权限打开栏目A的编辑,发文章,删除文章页面的权限!
相反的管理员A,因为没有栏目B的管理权限,所以我们要让他只无法访问栏目B的编辑,发文章,删除文章的页面,
无法访问栏目B的包含操作功能的页面,也就是应对了管理员A没有操作栏目D的权限的事实!
说起来蛮复杂的其实很简单,一句话概括点说,就是在浏览增删改查页面的时候,判断一下session存储的正在执行操作的管理员的信息,对应管理员表中的哪一个管理员,根据TOKEN 中的权限分类的ID值,去查权限分类数据表中的对应分类是否有相关的操作权限,没有就直接跳转去其他页面,提示一下没有操作权限,就可以了!
就像后台首页等页面必须登陆才能查看一样!
注:个人觉得程序依靠的是逻辑在运行,仔细考虑自己的逻辑是否能行的通,能行的通,就一定可以实现!!!!!只是实现的方法有着 。。复杂简易的区别而已!