安装方法
composer require casbin/think-authz
注册服务,在应用的全局公共文件service.php中加入:
return [ tauthz\TauthzService::class, ];
发布配置文件和数据库迁移文件:
php think tauthz:publish
此操作后会自动生成 config/tauthz-rbac-model.conf 和 config/tauthz.php 文件。
执行迁移工具
php think migrate:run
此操作后会创建名为rules的表。
用法示例:
public function index() { // 向用户zxd添加read权限 Enforcer::addPermissionForUser('zxd', 'articles', 'read'); // 为用户zxd添加writer角色. Enforcer::addRoleForUser('zxd', 'writer'); // 向规则writer添加edit权限 Enforcer::addPolicy('writer', 'articles','edit'); // 检查用户是否具有指定权限 if (Enforcer::enforce("zxd", "goods", "read")) { // 允许阅读文章 } else { // 拒绝请求,显示错误 } }
rules表截图
原文地址:https://www.thinkphp.cn/ext/106