tp5 里面实现RBAC和AUTH权限认证
日期: 2020-08-27 分类: 个人收藏 462次阅读
概述
权限管理几乎每个后台管理系统都需要的,这个问题困扰了我好久,而且网上找了好多资料,发现讲的都不怎么全。今天我下决心用一天到两天的时间一定一步一步在tp5里面实现。
RBAC
1、rbac的实现依赖以下几个composer组件
composer require gmars/tp5-nestedsets
composer require gmars/tp5-rbac
由于RBAC组件需要数据库迁移,故需要一个数据库迁移组件:
"topthink/think-migration": "^2.0",
composer require topthink/think-migration=2.0.*
这几个组件拷贝到composer.json文件,然后执行composer update,加载 安装包(也可以在命令行单独升级包)!
遇到的问题
加载 tp5-nestedsets的时候 composer报 The openssl extension is required for SSL/TLS protection but is not available问题。解决方案如下图所示:
如果rbac不需要数据库迁移,则不用安装tp的 migration组件。
直接导入sql即可!!生成了以下几张表:
安装完之后使用的时候 报 Rbac找不到,看 readme文档, 发现安装的时候需要这样:“gmars/tp5-rbac”: “dev-master”,所以使用 composer require gmars/tp5-rbac:dev-master重新安装之后好了!!!
2、在一个系统中RBAC是基于角色的权限控制。作为开发人员需要明白这是两个不同的过程。第一个就是构建系统的RBAC结构,包括添加权限,角色,用户,用户角色对应关系,角色权限对应关系等。
具体操作看composer源码包的README.md。
3、第二步就是使用插件–进行RBAC权限验证
在tp5里面可以用中间件或是通过构建基类控制器,进行验证。
当一次请求过来时,通过RBAC判断权限。
AUTH
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:tp php
精华推荐