热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP-Casbinv3.20.0发布,性能显著提升

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/次)
RBAC5 条规则 (2 用户, 1 角色)0.050881
小型 RBAC1100 条规则 (1000 用户, 100 角色)0.336172
中型 RBAC11000 条规则 (10000 用户, 1000 角色)2.911541
大型 RBAC110000 条规则 (100000 用户, 10000 角色)34.153414
带有资源角色的 RBAC6 条规则 (2 用户, 2 角色)0.061189
带有域/租户的 RBAC6 条规则 (2 用户, 1 角色, 2 域)0.069991
ABAC0 条规则 (0 用户)0.035182
RESTful5 条规则 (3 用户)0.060467
拒绝优先6 条规则 (2 用户, 1 角色)0.070071
优先级9 条规则 (2 用户, 2 角色)0.055194

PHP-Casbin 项目地址:

GitHub:https://github.com/php-casbin/php-casbin

推荐学习:《PHP视频教程》


推荐阅读
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 前端开发:从底层到顶端的行业现象解析
    在编程领域,鄙视链现象屡见不鲜,从C语言到Java、.NET等,每个技术栈都有其独特地位。然而,前端开发者尽管常处于鄙视链底端,却在市场需求中备受青睐。本文深入探讨这一现象,并分析前端工程师如何在竞争激烈的市场中脱颖而出。 ... [详细]
  • [Vue.js 3.0] Guide – Scaling Up – State Management
    [Vue.js 3.0] Guide – Scaling Up – State Management ... [详细]
author-avatar
MySeptember
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有