我在遇到权限分级的时候是用$_SESSION来控制的,值是1就允许查看,是0就不允许
奎屯ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
可在登陆的时设置,也可以在查询的时候设置
然后根据$_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';
这个网上方法挺多的,个人认为最简单的就是在管理员表加个权限字段,在显示栏目处加个判断,不过这种方法不是很安全;再就是在数据库建张node表、role表、role_user表、access表,其中node表存放结点,也就是栏目,role表存放权限,role_user表就是用户权限表,access表存放node_id、role_id等,不过中间有好多细节需要好好琢磨
实例代码不给你提供了,还是自己去写的好。
提供一下思路:
按照我的方法,这样去写:
首先管理员表:
tb_admin #管理员表
ad_id #管理员ID
ad_username # 管理员用户名
ad_password # 管理员密码(多重MD5)或其他加密
ad_power # 管理员权限 默认null
ad_super # 超级管理员 0否 1是 默认0
超级管理员拥有所有权限,包括可以设定其他管理员的权限
你肯定是想控制管理员左侧菜单栏的权限,首先建立一个数组,(左侧菜单数组)
然后给定每一个菜单一个id 例如:
商品管理 a
新增商品 a1
商品列表 a2 (包含删改查)
ad_power 中设定某个为 a1,a2
那么该管理员就有新增和列表两个权限。
根据登录者id查询管理员表,得到权限
例如:
ad_id =》3
ad_username=》 guanli003
ad_password =》xayufdashfhdkajshfjahsk
ad_power =》 a1,a2
ad_super =》0
// $left_menu 左侧菜单
$left_menu = array(
0 =array(
'flog' ='a1' ,
'title' = '新增商品',
)
)
// 生成一个新的数组,只包含当前登录者的权限
foreach($left_menu as $k = $v){
// 判断管理员信息权限字段是否有该权限
if(strpos($v['flog'],$admin[ad_power])){
// 组建新数组
}
}
在前端输出该数组即可。
当然这只是我的一个思路,你可以扩充一下,引入自己的实际项目当中。包括,当power字段为空时设定默认的菜单等。