热门标签 | 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视频教程》


推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • andr ... [详细]
  • 本文详细介绍了 com.facebook.drawee.view.SimpleDraweeView 中的 setScaleType 方法,提供了多个实际代码示例,并解释了其在不同场景下的应用。 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.xmlbeans.SchemaType 类的 getBaseEnumType() 方法,提供了多个代码示例,并解释了其在不同场景下的使用方法。 ... [详细]
  • 本文详细介绍了如何在ECharts中使用线性渐变色,通过echarts.graphic.LinearGradient方法实现。文章不仅提供了完整的代码示例,还解释了各个参数的具体含义及其应用场景。 ... [详细]
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社区 版权所有