学习php,自己写了个小后台,现在需要把后台的管理功能的权限分布下,谁有比较好的代码贴上来,让俺学习下。
解决方案 »
- 谁来帮我做一个PHP, joomla virtueMart的小功能,成本低、时间少,酬劳丰厚
- 求助:Life Type安裝時错误
- php工作在职人员请进
- 高手求教,怎么调用百度的APP
- PHP mail的问题
- 如何实现discuz论坛中添加推特的模块
- thinkphp分表怎么使用
- phpword输出图片到文件的指定地方
- if(strlen($name) ==5|| strlen($name) ==6) 计算了几次
- 用户已经关注了微信公众号怎么获取scope,求大神请教!!
- 学习STMP发送邮件时形成了一个认识--认为fsockopen/fwrite/fread读写的指令可以通过都可以直接在telnet中使用,请大家看看这段代码
- 求城市区域数据
存取的时候转换二进制。比如:
echo bindec('010');
十进制等于2
我的想法是:
1.先定义菜单的ID
2.把菜单id插入到adminuser的一个属性里,比如adminPriv字段,形成这样的一个字符串:12:Y$$16:N$$
12标示菜单的ID,Y标示是否允许操作,$是分隔符,
3.前台把adminPriv字段字符串形成一个数组,然后遍历这个数组,形成对应的权限
你应该这么看, 有权限给1没有给0。
在用户注册的时候就给予相应的权限。
勾选了相应的权限给1没有勾选给0。
然后吧这010(注意权限的顺序,固定的顺序)当成字符串(不是字符串开头零就被截掉)转换十进制。
这样你数据只要存1个十进制就可以。
在检查相应的权限时读出十进制转换二进制得到010字符串一目了然。用数组还要遍历什么的麻烦也可以用^ 或者& 运算
我是这样来分担
Operation(操作) Task(业务) Role(角色) 先定义好每个 Operation,比如说这边操作有:查看,添加,删除,更新,$id添加,$id查看,$id删除,$id更新.
(这边的$id就是用户id,为了实现自己只能对自己的添加,查看,删除和更新这类需求)Task:比如说你一个查看,还有更新等 你就把对应的操作分给他们(属于业务吧)Role:比如有超级管理员,还有数据维护员 只要定义好一些业务逻辑,然和把业务分给角色就行了关系图:
Operation(操作) <---(多对多)---> Task(业务) <---(多对多)---> Role(角色)
$str="12:Y$$16:N$$";
$arr=explode("$$", $str);
$arr = array_diff($arr, array(null));//去空值
$a=$b=array();
foreach($arr as $k=>$v)
{
$a=explode(":",$v);
$b[$a[0]]=$a[1];
}
print_r($b);