很多站长朋友们都不太清楚php实现权限分配,今天小编就来给大家整理php实现权限分配,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php权限管理如何实现 2、 php怎么用进行权限划分? 3、 PHP后台实现用户分配功能,有谁知道怎么实现?(PS:后台将用户分配给不同的管理员) 4、 php权限管理如何实现? php权限管理如何实现可以使用acl控制实现,参考acl全集如下:
1、角色表
角色id - 用户组id - 特殊权限id(其中特殊权限 > 用户组所包含权限)
2、用户组表
用户组id - 用户组信息
3、权限表
权限表id - 权限信息 - 与功能模块的关系
4、用户组-权限关联表
用户组id - 权限集合
5、特殊权限表
特殊权限id - 权限集合
注意:
1、设置权限的删除、添加主要围绕在 用户组-权限关联表、特殊权限表。
2、用户的权限获取则是验证登陆的时候通过用户组和特殊权限获取权限集合。
3、展示的时候,根据2获取的权限集合从权限表获取所有功能模块的导航菜单。
php怎么用进行权限划分?实例代码不给你提供了,还是自己去写的好。
提供一下思路:
按照我的方法,这样去写:
首先管理员表:
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字段为空时设定默认的菜单等。
PHP后台实现用户分配功能,有谁知道怎么实现?(PS:后台将用户分配给不同的管理员)这个网上有很多的案例,可以参照一下,原理就是将所有的操作添加到数据库,然后将权限分成组的,也就是ID集合,或是单独给用户添加权限ID也可以。在所以操作前获取当前操作,简单点所就是地址,将这个地址作为条件获取权限表所对应的ID,将获取的ID和用户权限组集合,或用户单独自定的权限ID对比是否存在,存在,表示拥有这个操作权限,验证通过,不存在,表示没有这个操作权限,验证不通过。
php权限管理如何实现?我得做法是,用形如:\x0d\x0a \x0d\x0a修改文章,1,删除文章,1,新增文章,1\x0d\x0a这样的字符串来保存权限值\x0d\x0a读取后explode为数组,需要校验权限的时候,用\x0d\x0aif($array["修改文章"])\x0d\x0a判断是否有权限。
关于php实现权限分配的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php实现权限分配 php权限设计的详细内容...