php怎么用进行权限划分?

我以前的方法是在mysql里建立一个管理员表,通过session来判断该用户拥有什么权限,那么,在实际项目里是怎么划分的呢?因为最近在做一个app的后台,所以很注重安全文体,有示例代码最好!谢谢

实例代码不给你提供了,还是自己去写的好。

提供一下思路:

按照我的方法,这样去写:

首先管理员表:

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字段为空时设定默认的菜单等。

追问

你这个思路是对的,我也是这么做的,我想问的是,这个方法安全么?因为必然会用到session。
我有个思路你看对不对,就是后台登陆的时候,输入的不是表中的密码,而是mysql数据库的账号密码,通过mysql对权限进行划分。。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网