扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
说一下我的思路(RBAC 模式),供你参考,邮箱不发了,由于数据库需要保密,截图也不贴了。
在富宁等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站设计 网站设计制作定制网站开发,公司网站建设,企业网站建设,品牌网站设计,全网整合营销推广,外贸网站建设,富宁网站建设费用合理。
你在左侧导航栏做三个菜单项,分别是:
1. 用户管理
2. 角色管理
3. 权限管理
其中 1 和 2 给管理员操作,管理员可以对其进行增删改查等操作;3 由软件开发者操作,不能分配给管理员;普通用户对 1、2、3 都无权操作。
权限管理界面,软件开发者可以对各种权限进行增删改查;
角色管理界面,管理员进去后可以对角色进行增册改查操作;具体可以这样安排界面,右栏主区分成上中下三块,上面这块提供添加及查询操作,中间块显示查询结果,下面这块查询结果中某条记录的明细。 增加按钮点击后,在明细区出现填写表单,具体需要填哪些内容由开发者定,一般角色名为必填项,然后同时在右边给出一个选择权限的列表,提供复选框让管理员为角色勾选分配权限;
用户管理界面跟角色界面类似,只是管理员在创建用户时是勾选角色而不是权限。
大体思路就是这样。
(PS: 数据库中当然要先设计好用户表、角色表、权限表、用户角色关联表、角色权限关联表等等)
另一种方法是参数表,适用于固定参数,只判断bool的
例如
用户 读 写 执行
abc Y Y Y
cba Y N N
zzz Y Y N
那么
abc=7(二进制 111)
cba=1(二进制 001)
zzz=3(二进制 011)
例如论坛,权限都是固定的参数值,每个人区别只是 有/无 某个权限
*要注意的参数是64位/32位的问题——避免溢出
我在遇到权限分级的时候是用$_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 查询条件";
}
大致上就是这样
期待更出色的答案
一、用PhpMyAdmin新建一个MySQL用户.
1,用root登陆phpmyadmin
2,点权限
3,点创建一个用户
4,选择所有权限
执行
二、使用可视化操作软件,如phpmyadmin,mysqlcc等。
或者用命令行Create Database 数据库名
三、for example
创建用户vap,并分配权限:对数据库vap的所有表可以从所有机器(第一句)和本地机器(第二局)进行访问,并拥有任意权限,密码为vap
grant all privileges on vap.* to 'vap'@'%' identified by 'vap';
grant all privileges on vap.* to 'vap'@'localhost' identified by 'vap';
可以使用acl控制实现,参考acl全集如下:
1、角色表
角色id - 用户组id - 特殊权限id(其中特殊权限 用户组所包含权限)
2、用户组表
用户组id - 用户组信息
3、权限表
权限表id - 权限信息 - 与功能模块的关系
4、用户组-权限关联表
用户组id - 权限集合
5、特殊权限表
特殊权限id - 权限集合
注意:
1、设置权限的删除、添加主要围绕在 用户组-权限关联表、特殊权限表。
2、用户的权限获取则是验证登陆的时候通过用户组和特殊权限获取权限集合。
3、展示的时候,根据2获取的权限集合从权限表获取所有功能模块的导航菜单。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流