TP5权限管理笔记(RBAC)
说明一下:
登录模块不在权限管理之内,也就是说登录模块是单独的模块。打开登录页面不需要验证权限。当用户登录后台后跳转后台首页,这时候需要把用户的信息存到session或者cookie里面。进入后台之后你点击的每一个页面或者每一个操作都是访问某个方法。
说白了用户权限控制就是验证当前用户有没有当前访问的模块,控制器,以及方法的权利的验证,如果有打开页面,如果没权限提示没权限。
权限验证可以建立BaseController写构造函数验证,也可以使用路由中间件验证,原理都一样,不过是一个把验证方法写在base类一个把验证方法写在中间件里面而已。
权限管理之前自己写的比较简单,都是用123代替,然后页面的html判断角色是什么数字,然后决定显示还是隐藏元素,当然效果是有了,但是如果用户打开浏览器开发环境,把display:none去掉,所有功能都显示出来,这就尴尬了,所以,这次abrc模式改写了一下,既保留了元素的隐藏显示,又不用担心去掉display:none;
首先还是先建5张表,我们后面主要是从数据获取权限范围判断是否有访问权;

我英语比较烂,所以表名起的都比较随意,勿吐槽!
我是用TP5写的,所以只讲tp5下的情况
表建好后,表的关联请看上图,完成添加权限,添加角色,添加管理员的功能,我们默认已经写好了

我的控制器有一个base.php用于其他控制器继承,在base里写一个权限判断的函数,(权限表一定要写清楚模块名,控制器名,方法名,我们就是用 这些名字判断的)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
