PHP如何分角色权限显示内容

发布于 2022-08-30 16:05:54 字数 109 浏览 12 评论 0

公司在各个省都有分部,那武汉的员工只能看到武汉的信息,但是高级BOSS所有可以跨越区域查看所有信息,请问只能通过数据库字段去做吗,有没有其他的思路,谢谢。
一套页面如何适应不同身份的人查看呢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

少钕鈤記 2022-09-06 16:05:54

首先,我假设你这个权限区分是要登录的,我平时解决的时候是用数据库的字段解决的,如果你不想这样,你可以在登陆的时候为每个登陆的人设置一个session,比如叫$_SESSION['privilege'],再根据这个session值来判断某个区域要显示什么内容,比如:

<?php if($_SESSION['privilege'] == 0): ?>
<div>这是User看到的内容</div>
<?php endif ?>
<?php if($_SESSION['privilege'] == 1): ?>
<div>这是Boss看到的内容</div>
<?php endif ?>
<?php if($_SESSION['privilege'] == 2): ?>
<div>这是大BOSS看到的内容</div>
<?php endif ?>

看来代码又要被吐槽了......

﹏半生如梦愿梦如真 2022-09-06 16:05:54

只能通过字段做,不然你怎么知道这个登陆的人的权限?

对于一个一套页面如何适应不同身份的人查看,有个简单的方法,就是将权限分级,员工是1,BOSS是2,大BOSS是3.那么把网页的权限设为2不就好了,这样这个页面就只有BOSS能看。

南巷近海 2022-09-06 16:05:54

针对权限设计一个类,然后以对象形式传给前端,前端模板里只要写

$access->can('action')

就行,权限规则和行为则在权限的类中判断和实现。

傲娇萝莉攻 2022-09-06 16:05:54

可以看下 Auth 和Rbac

忆沫 2022-09-06 16:05:54

之前做过一个类似的设计,不过不是很成熟,你可以参考下。

resource  +  section  + action  =  permission

比如
商品 + 武汉地区的 + 列表 = 武汉地区的商品列表

然后把 permission 赋给 role ,为员工分配role
判断权限就写个类 $checker->has_permission(resource , section , action);

2022-09-06 16:05:54

如果用的是框架,应该都带有RBAC吧,去看看框架的RBAC怎么用的。
如果不是用的框架,也去找个框架,看看框架的RBAC,然后剥离出来!

提笔落墨 2022-09-06 16:05:54

狗屁回答都是答非所问,Rbac根本解决不了同一个页面根据地区显示不同的列表

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文