Download the PHP package casbin/webman-permission without Composer
On this page you can find all versions of the php package casbin/webman-permission. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download casbin/webman-permission
More information about casbin/webman-permission
Files in casbin/webman-permission
Download casbin/webman-permission
More information about casbin/webman-permission
Files in casbin/webman-permission
Vendor casbin
Package webman-permission
Short Description webman casbin permission plugin
License MIT
Package webman-permission
Short Description webman casbin permission plugin
License MIT
Please rate this library. Is it a good library?
Informations about the package webman-permission
🐇 An Authorization For Webman Plugin. 🐇
🐇 Webman Authorization Plugin Base Casbin. 🐇
An authorization library that supports access control models like ACL, RBAC, ABAC for webman plugin
Install
Composer Install
Use
Dependency Injection configuration
Modify the config/container.php
configuration to perform the following final contents:
Database configuration
默认策略存储是使用的ThinkORM。
1、模型配置
默认使用ThinkORM。修改数据库 thinkorm.php
配置
如使用laravel数据库,配置参考如下
- 修改数据库
database.php
配置- 修改数据库
permission.php
的adapter
适配器为laravel适配器
2、创建 casbin_rule
数据表
3、配置 config/redis
配置
4、重启webman
或者
使用
安装成功后,可以这样使用:
你可以检查一个用户是否拥有某个权限:
多套驱动配置
更多 API
参考 Casbin API 。
教程
- Casbin权限实战:入门分享(中文)
- Casbin权限实战:基于角色的RBAC授权
- Casbin权限实战:RESTful及中间件使用
- Casbin权限实战:如何使用自定义匹配函数
- Webman实战教程:如何使用casbin权限控制
测试
测试套件
本项目包含完整的单元测试套件,覆盖了以下方面:
测试文件结构
测试覆盖范围
-
基础功能测试
- 权限添加、删除、检查
- 角色分配、移除
- 策略管理
-
适配器测试
- 数据库操作
- 过滤器功能
- 批量操作
- 事务处理
-
边界情况测试
- 空值处理
- 特殊字符
- 大数据量
- 性能测试
-
集成测试
- RBAC完整流程
- 域权限控制
- 多驱动支持
- 复杂业务场景
- 错误处理测试
- 异常情况
- 无效输入
- 并发访问
运行测试
测试要求
- PHP >= 8.1
- PHPUnit >= 9.0
- 数据库连接
- Redis连接
测试环境配置
测试环境会自动创建以下数据表:
casbin_rule
- 默认策略表other_casbin_rule
- 其他驱动策略表
测试最佳实践
-
编写新测试
- 继承适当的测试基类
- 遵循命名约定
- 添加必要的断言
-
测试数据管理
- 使用
setUp()
和tearDown()
方法 - 确保测试数据隔离
- 清理测试数据
- 使用
- 测试覆盖
- 覆盖正常流程
- 测试异常情况
- 验证边界条件
贡献指南
添加新功能测试
- 为新功能编写对应的测试用例
- 确保测试覆盖率达到要求
- 运行完整测试套件
- 提交代码前检查测试状态
修复Bug测试
- 为Bug编写重现测试
- 修复Bug后验证测试通过
- 确保不影响现有功能
感谢
解除 https://github.com/PHP-DI/PHP-DI依赖的解决方案(不推荐)
1、卸载DI依赖包:`composer remove php-di/php-di` 2、修改:`Casbin\WebmanPermission\Permission` 文件 替换为 耦合太高,不建议这么搞,更多了解:https://www.workerman.net/doc/webman/di.html问题
- Laravel的驱动报错:
Call to a member function connection() on null|webman2.1/vendor/illuminate/database/Eloquent/Model. php|1918
。解决方案,请检查本地数据库代理是否正常,如使用了Docker容器主机地址dnmp-mysql
可能会导致该问题出现。
All versions of webman-permission with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.0
casbin/casbin Version ~4.0
topthink/think-orm Version ^3.0
php-di/php-di Version ^7.0
doctrine/annotations Version ^2.0
workerman/redis Version ^2.0
casbin/casbin Version ~4.0
topthink/think-orm Version ^3.0
php-di/php-di Version ^7.0
doctrine/annotations Version ^2.0
workerman/redis Version ^2.0
The package casbin/webman-permission contains the following files
Loading the files please wait ....