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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值