如何使用PHP写出更好的权限控制?

南宫天明 发布于 2015/01/11 17:37
阅读 4K+
收藏 6

【DevOps必读】产品经理与程序员之间如何破局?>>>

在这里呢首先就不说根据URL模式的权限控制了

因为这个确实简单

我最想知道的是:

同一个页面 不同的用户组可以有不同的权限

比如:添加、删除、修改、查看

当然了 这个可以根据URL模式做得到


说一下更复杂的:

一个表单:

表单中有:姓名、性别、电话、QQ  

管理员则可以看到全部 并拥有查看、修改全部的权限

信息管理员则可以看到姓名、性别、QQ这三个表单 而且 QQ这个表单还不能进行编辑 也不能提交 姓名则可以修改

普通管理员则可以看到姓名、电话、QQ  同时也可以编辑改名、QQ   但是电话只能看到 却不能编辑和提交


问:像这种 同一个页面 不能的用户组 不同的权限 不能的功能  如何使用程序做到这个  或者说如何构造权限管理

我这几天在做一个系统 我真心希望能在过年之前作完成  不然的话 年都回不了家啊  

大哥大姐叔叔们 帮帮忙吧...

在线等...


昨天晚上我又查询到这么一种根据下面评论的“位运算”

//权限管理
define('QUERY','1'); //查询
define('INSERT','2'); //添加
define('UPDATE','4'); //修改
define('DELETE','8'); //删除

$KEY=15;

if ($KEY & QUERY) {
echo "有查询权限<br>";
}
if($KEY & INSERT){
echo "有添加权限<br>";
}
if($KEY & UPDATE){
echo "有修改权限<br>";
}
if($KEY & DELETE){
echo "有删除权限<br>";
}

先说说我的PHP基础啊!我以前做前端做的多了一点  然后PHP也只是会一点点而已  THINKPHP也只会一点点

然后THINKPHP里面的RBAC我可能知时间内还是不会懂 

所以暂时最快的方法想请你们看看 上面的这种位算法  算不算是好的一种方法

还有这种方法在哪种情况之下会碰到哪些难解决的问题

依然是在线等...

加载中
0
H
HanYuFeng

感觉好复杂,

搬个板凳坐等高人来。

0
风情万种
风情万种
rbac 基于角色权限控制
0
风情万种
风情万种
http://m.blog.csdn.net/blog/liujiahan629629/23128651 请看 或者百度 php rbac
0
zwltop
zwltop
突然出现了很多php新手
0
大树_
大树_
跟PHP似乎关系不大,思路都是一样的
0
铂金小狗
铂金小狗
坐等高人  
0
南宫天明
南宫天明

引用来自“Skiychan”的评论

用位运算。
大哥 你说的位运算大概是不是就类似于:

1+2+4+8 
像这样的运算啊?

南宫天明
南宫天明
回复 @Skiychan : 你帮忙看看我上面修改的那代码 是否能行的通 好吗?
0
Tuesday
Tuesday

在腾讯工作最大的优势就是可以否决这种垃圾需求.

小公司就是喜欢自己设定迷宫, 迷自己.

0
xialeistudio
xialeistudio

说下我个人的看法。

首先做权限控制最好是单入口(这个使用框架一般都满足)


然后,可以在业务层上部署一个权限层,具体用来根据数据库中的授权信息对用户是否对当前URL有操作权限进行判定,如果没权限,则抛出异常(当然,你要在外层捕获掉这个异常

甘薯
甘薯
这个说法靠谱.
0
idea_biu
idea_biu

首先你需要

表A:姓名、性别、电话、QQ

表B:查看 修改 編輯 刪除 隱藏

表C:角色權限(擁有AB)

表D:用戶權限(擁有C)

返回顶部
顶部