php 用户权限控制如何设计
发布网友
发布时间:2022-04-21 19:07
我来回答
共5个回答
热心网友
时间:2022-04-15 00:49
可以是这样子设计权限路由表,比如:,写成配置文件或数据库中。
//菜单配置
'content' => array(
'新闻文章' => array(
'栏目管理' => array('Classify/index','type='.CLASS_ARTICLE),
'文章管理' => 'Article/index',
'回收站' => array('Article/index','trash=1'),
),
'图集' => array(
'分类管理' => array('Classify/index','type='.CLASS_ATLAS),
'图集管理' => 'Atlas/index',
//'添加图片' => 'Picture/index',
),
'品牌管理' => array(
'分类管理' => array('Classify/index','type='.CLASS_BRAND),
'品牌管理' => 'Brand/index',
),
),
//权限配置
'Config' => array(
'name' => '系统配置',
'controller' => 'Config',
'action' => array(
'index' => array('系统配置','t=1') //带参数的方法
)
),
'Channel' => array( //控制器
'name' => '导航管理',
'controller' => 'Channel',
'action' => array( //方法
'index' => '导航列表',
'add' => '导航(新增/编辑)',
'sort' => '导航排序',
'del' => '删除导航',
)
),
'Article' => array(
'name' => '新闻文章管理',
'controller' => 'Article',
'action' => array(
'index' => '新闻文章列表',
'add' => '新闻文章(新增/编辑)',
'trash' => '新闻文章删除(回收站)',
'reset' => '新闻文章恢复(回收站)',
'del' => '删除新闻文章',
)
),
1.在用户登录后,获取到用户权限列表,不同角色对应不同权限列表
2.根据用户权限列表与菜单列表进行比对,如果该菜单无权限则移除
3.在父类中增加对当前控制器权限进行检查
热心网友
时间:2022-04-15 02:07
组用户相当于设置了一个字段,这个字段就是记录了权限,
比如设一个字段,字段值为
0=普通会员
1=高级会员
2=VIP会员
。。。。。。。。。。。。
通过判定是哪一级会员就显示哪一类容
热心网友
时间:2022-04-15 03:42
用户登录后不判断权限,在执行操作时判断是否有该操作的权限。
权限根据不同需求设计。
常用的有: 根据不同级别给不同权限,还有 把所有模块的操作方法都写入一张表中,可以给所有用户赋予想给的权限
热心网友
时间:2022-04-15 05:33
我个人的设计是将权限采用如下格式存储:
$rights="发布文章,1,删除用户,1";
登陆后将这个权限字符串存入session,判断是将这个字符串拆分成以下形式的数组
$rights=array("发布文章"=>1,"删除用户"=>1);
$rights["发布文章"] or die("权限不够!");//判断
热心网友
时间:2022-04-15 07:41
角色表,用户表。
用户表中有角色表id字段,用户登录后查到角色表里相应的权限字段。
简单的这样就能实现了。