技术圈开发者交流群:

利用 PHP-Casbin 中的优先级模型来做权限控制

优先级模型,所谓优先级,是指按一定的顺序加载策略。

优先级高的策略先加载,先加载的策略具有较高的优先级。

PHP-Casbin 目前支持三种模式:隐式优先顺序加载策略、显示优先顺序加载策略、基于角色和用户的层级关系加载策略。

优先级模式的配置在model.conf中的policy_effect中配置。

PHP 2023年08月15日 6814

PHP-Casbin 在分布式服务中利用 Watcher 做策略同步

分布式服务,是将多个具有不同或相同功能的服务分散在不同的服务器上,对外提供服务。

那么在分布式服务中,使用 PHP-Casbin 作为权限控制时,不同服务器上的服务的策略要保证是同步的。这里我们主要探讨常驻内存的 PHP 服务,在常驻内存的服务中,PHP-Casbin 一般是单例模式,所有的策略都会加载到内存,性能出色。

PHP-FPM 下每次都重新初始化 Enforcer 并重新加载策略,不需要做额外的策略同步。

Casbin 中提供了 Watcher ,用于多实例间的消息策略同步。

PHP 2023年07月11日 8751

使用 PHP-Casbin 在 SaaS 应用中做多租户权限系统架构设计

多租户(multi-tenancy)是一种软件架构技术,是实现在多租户的环境下共用相同的系统或程序组件,并且保证各用户间的数据隔离,也可称作域租户

PHP-Casbin 不仅提供了全局的RBAC的权限模型,而且还支持特定域的权限模型。特定租户/域的角色意味着当用户在不同的租户/域中时,用户可以拥有不同的角色,亦拥有不同的权限策略。在大型项目中,特别是在像SaaS PaaS这种云服务中,不同的租户需要拥有独立的权限控制,这就非常有用。

这里我以一个多商户的电商平台为例,电商平台的商户就是租户,每个商户有自己的管理人员,可以分配不同的角色,定义自己的权限。这些商户间的数据在逻辑上是完全隔离的,但他们共享这个电商平台的其他资源。

PHP 2023年06月03日 1344

Redis 列表(List) 相关命令

列表(List),就是存放一组数据的列表,就相当于我们编程语言中所使用的数组列表顺序就是插入的顺序,可以从列表的头部插入元素,也可以从尾部插入元素。

Redis 中一个列表最多包含 2 的 32 次方 - 1 (4294967295)个元素。

工具 2023年04月01日 815

主流编程语言的包管理工具

术业有专攻,闻道有先后。班门弄斧,请指教。

编程语言五花八门,在历史的洪流中,不断有新的编程语言、新的工具诞生。有的老牌语言依然是中流砥柱,有的新生代语言突飞猛进,后生可畏。

一个编程语言要想发展起来,包管理工具必不可少,包的数量与质量,决定着编程语言的周边生态的好坏。

TIOBE 编程社区指数,是一个衡量编程语言受欢迎程度的指标,评判的依据来自世界范围内的工程师、课程、供应商及搜索引擎。

工具 2023年03月09日 1268

Go语言中实现RSA加解密、签名验证算法

随着互联网的高速发展,人们对安全的要求也越来越高。密码学中两大经典算法,一个是对称加解密,另一个是非对称加解密,这里就来分享一下非对称加密算法的代表:RSA加解密。

在Go语言中实现RSA加解密还是比较简单的,网上很多教程都是基于Go原生标准库写的,代码量较多。这里分享一个好用的库:https://github.com/forgoer/openssl

GoLang 2022年12月09日 647

工作中常用的git命令

今天又加班了,趁睡前10分钟,抽空记录一下git常用命令。

git是程序开发人员必不可少的工具,前一天在v站看到有人吐槽几年经验的前端不会git

工具 2022年11月22日 996

排行

解决方案

网站建设

专业企业官网建设,塑造企业形象,传递企业价值

系统开发

系统软件开发,用心思考,用心设计,用心体验

技术支撑

打破技术瓶颈,让不堪重负的项目起死回生

业务中台

构建全渠道一体化运营能力,实现全链路数字化

文案策划

文案撰写、营销策划,专注品牌全案

新媒体运营

一站式解决企业互联网营销痛点和难题

以技术的力量,改变互联网

联系我们
鄂ICP备19028750号-1 @copyright 2025 tech1024.com