php怎么用进行权限划分?

我以前的方法是在mysql里建立一个管理员表,通过session来判断该用户拥有什么权限,那么,在实际项目里是怎么划分的呢?因为最近在做一个app的后台,所以很注重安全文... 我以前的方法是在mysql里建立一个管理员表,通过session来判断该用户拥有什么权限,那么,在实际项目里是怎么划分的呢?因为最近在做一个app的后台,所以很注重安全文体,有示例代码最好!谢谢 展开
 我来答
百度网友42a54eb6
2015-11-23 · TA获得超过292个赞
知道答主
回答量:49
采纳率:0%
帮助的人:14.8万
展开全部

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

提供一下思路:

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

首先管理员表:

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对权限进行划分。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式