Young87

当前位置:首页 >个人收藏

tp5 里面实现RBAC和AUTH权限认证

概述

权限管理几乎每个后台管理系统都需要的,这个问题困扰了我好久,而且网上找了好多资料,发现讲的都不怎么全。今天我下决心用一天到两天的时间一定一步一步在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

上一篇: Python爬虫 实现豆瓣电影Top250信息的爬取

下一篇: 计算机视觉中的深度学习7: 卷积神经网络

精华推荐