donjan-deng/hyperf-casbin
最新稳定版本:3.23.3
Composer 安装命令:
composer require donjan-deng/hyperf-casbin
包简介
An authorization library that supports access control models like ACL, RBAC, ABAC in hyperf.
README 文档
README
Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。本项目做了Hyperf适配并自带了一个RBAC模型,使用本项目前你需要先学会如何使用Casbin。
简单使用
Casbin只负责访问控制,在RBAC方案中也只是储存用户和角色之间的映射关系,身份认证、管理用户列表或角色列表应由项目自身来管理。这里有个简单的示例:example
版本定义
本项目主版本与Casbin主版本相同,子版本和修订版本为项目独有
重大变更
-
3.23适配Hyperf 3.1
-
3.22适配Hyperf 3.0
-
3.21增加Redis Watcher 升级需要重新发布配置
-
3.6 升级需要重新发布配置
安装
composer require donjan-deng/hyperf-casbin
发布配置
php bin/hyperf.php vendor:publish donjan-deng/hyperf-casbin
配置文件config/autoload/casbin.php
API
use Donjan\Casbin\Enforcer; 为用户添加权限 Enforcer::addPermissionForUser('user1', '/user', 'read'); 删除一个用户的权限 Enforcer::deletePermissionForUser('user1', '/user', 'read'); 获取用户所有权限 Enforcer::getPermissionsForUser('user1'); 为用户添加角色 Enforcer::addRoleForUser('user1', 'role1'); 为角色添加权限 Enforcer::addPermissionForUser('role1', '/user', 'edit'); 获取所有角色 Enforcer::getAllRoles(); 获取用户所有角色 Enforcer::getRolesForUser('user1'); 根据角色获取用户 Enforcer::getUsersForRole('role1'); 判断用户是否属于一个角色 Enforcer::hasRoleForUser('use1', 'role1'); 删除用户角色 Enforcer::deleteRoleForUser('use1', 'role1'); 删除用户所有角色 Enforcer::deleteRolesForUser('use1'); 删除角色 Enforcer::deleteRole('role1'); 删除权限 Enforcer::deletePermission('/user', 'read'); 删除用户或者角色的所有权限 Enforcer::deletePermissionsForUser('user1'); Enforcer::deletePermissionsForUser('role1'); 检查权限,返回 true or false Enforcer::enforce("user1", "/user", "edit")
更多使用方法详见官方API
官方资源
参考库
License
This project is licensed under the Apache 2.0 license.
统计信息
- 总下载量: 22.12k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 97
- 点击次数: 2
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2020-11-19