权限控制php
‘壹’ php权限管理
这应该是页面双重包含的问题吧。function auth()中申请的用户权限控制在当前框架下的所有页面都会发生作用(index.php页面包含之后,如果失败,main.php和left.php都无法加载),你取消main.php和left.php的包含文件试试。
‘贰’ ThinkPHP框架简单的注册登录里用户权限控制怎么实现
可以参照mysql的功能权限的做法,我不知道你提问的是不是这个权限,举个例子:
你后台可能有贴子管理,用户管理等等功能,假设帖子管理使用权限是1,用户管理使用权限是2,没有权限是0
新建三个表,一个是管理员表,一个是角色表,一个是管理员和角色关系表
举两个角色的例子,一个是普通管理员,一个是超级管理员,当新增超级管理员角色的时候角色的时候,此时超级用户的权限应该是12,当新增普通管理员的时候,他只有管理帖子的权限,那么他的权限就是10,这样角色表里面就有两个角色了
接着,新增用户的时候,例如新增一个用户叫题主,新增的时候选择一个角色是普通管理员,写入数据库后,顺便写进角色和用户之间的关系表,这样就能做到权限的控制了,也可以细分到编辑,删除,添加等权限,不过要保证方法名字一样。
当然这里只是粗略的说了一下而已,真做起来有挺多问题,尝试一下就知道了
前台用户注册登录权限思路也差不多,自己想想,做做就清楚了
还有就是可以google一下RBAC的数据库设计
‘叁’ php用户权限分配界面
说一下我的思路(RBAC 模式),供你参考,邮箱不发了,由于数据库需要保密,截图也不贴了。
你在左侧导航栏做三个菜单项,分别是:
1. 用户管理
2. 角色管理
3. 权限管理
其中 1 和 2 给管理员操作,管理员可以对其进行增删改查等操作;3 由软件开发者操作,不能分配给管理员;普通用户对 1、2、3 都无权操作。
权限管理界面,软件开发者可以对各种权限进行增删改查;
角色管理界面,管理员进去后可以对角色进行增册改查操作;具体可以这样安排界面,右栏主区分成上中下三块,上面这块提供添加及查询操作,中间块显示查询结果,下面这块查询结果中某条记录的明细。 增加按钮点击后,在明细区出现填写表单,具体需要填哪些内容由开发者定,一般角色名为必填项,然后同时在右边给出一个选择权限的列表,提供复选框让管理员为角色勾选分配权限;
用户管理界面跟角色界面类似,只是管理员在创建用户时是勾选角色而不是权限。
大体思路就是这样。
(PS: 数据库中当然要先设计好用户表、角色表、权限表、用户角色关联表、角色权限关联表等等)
‘肆’ php中用户权限的方法
原理很简单,数据库中对应用户的权限字段,经常是level,status,allow什么的,然后一个用户登录时提取信息,用户进行一个应用时判断权限等级。根据项目的不同怎么实现也会不同,基本原理就是这样。
我现在参与的一个应用原理如下:
加载网站底层程序
加载网站权限(从数据库或者缓存中提取,然后写到静态变量)等等
(加载用户信息,根据规范加载用户权限到变量)
分析url
加载频道,分类等等,同时加载它们的权限(如果权限不合会自动过滤甚至中止程序,以上也是的)
加载应用(应用也有权限,等等)
我只做其中的一块,不然都会晕的。。。。。