作者:MySeptember | 来源:互联网 | 2024-11-15 10:54
PHP-Casbinv3.20.0已经发布,这是一个使用PHP语言开发的轻量级开源访问控制框架,支持多种访问控制模型,包括ACL、RBAC和ABAC。新版本在性能上有了显著的提升。
PHP-Casbin v3.20.0 已正式发布。PHP-Casbin 是一个用 PHP 语言编写的轻量级开源访问控制框架,支持多种访问控制模型,如 ACL(访问控制列表)、RBAC(基于角色的访问控制)和 ABAC(基于属性的访问控制)。该框架采用元模型设计思想,能够灵活地适应不同的访问控制需求。
更新内容:
详细更新日志请参阅:GitHub 发布页面
Casbin 开源项目简介
Casbin 是一个强大且高效的开源访问控制框架,支持多种编程语言,包括 Go、Java、Node.js、Javascript (React)、Python、PHP、.NET、Delphi 和 Rust。它提供了统一的接口,使得开发者可以轻松实现复杂的访问控制逻辑。
此次更新在 PHP 8.0 环境下性能大幅提升:
测试环境:Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz, 3.20 GHz, 4 核心, 8 逻辑处理器
测试用例 | 规则数量 | 时间开销 (ms/次) |
---|
RBAC | 5 条规则 (2 用户, 1 角色) | 0.050881 |
小型 RBAC | 1100 条规则 (1000 用户, 100 角色) | 0.336172 |
中型 RBAC | 11000 条规则 (10000 用户, 1000 角色) | 2.911541 |
大型 RBAC | 110000 条规则 (100000 用户, 10000 角色) | 34.153414 |
带有资源角色的 RBAC | 6 条规则 (2 用户, 2 角色) | 0.061189 |
带有域/租户的 RBAC | 6 条规则 (2 用户, 1 角色, 2 域) | 0.069991 |
ABAC | 0 条规则 (0 用户) | 0.035182 |
RESTful | 5 条规则 (3 用户) | 0.060467 |
拒绝优先 | 6 条规则 (2 用户, 1 角色) | 0.070071 |
优先级 | 9 条规则 (2 用户, 2 角色) | 0.055194 |
PHP-Casbin 项目地址:
GitHub:https://github.com/php-casbin/php-casbin
推荐学习:《PHP视频教程》