用户角色数据权限php 用户权限角色数据库设计

在php网站中用户权限4个表
用户表(用户信息表)
权限表(设置可以访问的页面)
角色表(如果申请用户的时候有多项选择的时候添加,没有则不需要)
用户权限对应关系表(这个表是用于给每个用户赋权)
如果用户访问页面的时候,判断是否存在访问权限(查用户权限对应关系表),如果有正常访问,如果没有页面跳转 。不过跳到登录页面感觉不太合理,你判断用户是否有权限的时候,他应该是登录状态,如果再跳到登录页面感觉不合理 。
判断是否存在访问权限可以封装成公共类,每个页面初始化的时候都调用这个公共类 。可以通过用户ID进行判断 。
同是普通用户,那就加标识,判断的时候再判断一下标识 , 然后根据标识进行页面跳转 。
以上,希望能帮到你 。
php用户权限分配界面说一下我的思路(RBAC 模式),供你参考,邮箱不发了,由于数据库需要保密,截图也不贴了 。
你在左侧导航栏做三个菜单项 , 分别是:
1. 用户管理
2. 角色管理
3. 权限管理
其中 1 和 2 给管理员操作,管理员可以对其进行增删改查等操作;3 由软件开发者操作,不能分配给管理员;普通用户对 1、2、3 都无权操作 。
权限管理界面,软件开发者可以对各种权限进行增删改查;
角色管理界面,管理员进去后可以对角色进行增册改查操作;具体可以这样安排界面,右栏主区分成上中下三块,上面这块提供添加及查询操作,中间块显示查询结果,下面这块查询结果中某条记录的明细 。增加按钮点击后,在明细区出现填写表单,具体需要填哪些内容由开发者定,一般角色名为必填项,然后同时在右边给出一个选择权限的列表,提供复选框让管理员为角色勾选分配权限;
用户管理界面跟角色界面类似,只是管理员在创建用户时是勾选角色而不是权限 。
大体思路就是这样 。
(PS: 数据库中当然要先设计好用户表、角色表、权限表、用户角色关联表、角色权限关联表等等)
PHP如何编写有权限查看表中的内容 , 但是没有权限查看某一字段的数据我在遇到权限分级的时候是用$_SESSION来控制的,值是1就允许查看,是0就不允许
可在登陆的时设置,也可以在查询的时候设置
然后根据$_SESSION设置sql语句,大致如下
在登陆时根据filldname字段设置$_SESSION
if($row["filldname"]=="price"){
$_SESSION["quanxian"]=1;
}else{
$_SESSION["quanxian"]=0;
}
然后查询时根据条件设置sql语句
if($_SESSION["quanxian"]==1){
$sql="select po,pohh,wlbh,gysdm,dj,pddte from table where 查询条件";
}else{
$sql="select po,pohh,wlbh,gysdm,pddte from table where 查询条件";
}
大致上就是这样
期待更出色的答案
php的角色权限控制数据库表设如何设计另一种方法是参数表用户角色数据权限php , 适用于固定参数用户角色数据权限php,只判断bool的
例如
用户读写执行
abcYYY
cbaYNN
zzzYYN
那么
abc=7(二进制 111)
cba=1(二进制 001)
zzz=3(二进制 011)
例如论坛用户角色数据权限php,权限都是固定的参数值,每个人区别只是 有/无 某个权限
*要注意的参数是64位/32位的问题——避免溢出
php权限管理如何实现可以使用acl控制实现用户角色数据权限php,参考acl全集如下用户角色数据权限php:
1、角色表
角色id - 用户组id - 特殊权限id(其中特殊权限用户组所包含权限)
2、用户组表
用户组id - 用户组信息

推荐阅读