技术圈开发者交流群:

还在手写权限管理?Think-authz 库帮你省 80% 工作量,开箱即用!

做后端开发的你,是不是也被 “权限管理” 搞得头大?

写接口时,要反复判断 “用户有没有访问权限”“角色能不能操作这个资源”;改需求时,加一个新权限就要改一堆代码,还容易漏判、错判;对接不同项目时,权限逻辑又要重新写一遍,重复劳动没完没了……

PHP 08月11日 162

Laravel 权限控制新选择:使用 Laravel-authz 集成 PHP-Casbin

在 Laravel 项目开发中,权限管理是保证应用安全的关键环节。虽然 Laravel 自带了 Gate 和 Policy 授权机制,但在面对复杂权限需求时往往力不从心。今天介绍的是基于 Casbin 的 Laravel-authz 库,它能帮助你在 Laravel 项目中实现 RBAC(基于角色的访问控制)、ABAC(基于属性的访问控制)等高级权限模型。

PHP-Casbin 是一个强大的、支持多种访问控制模型的开源授权库,它支持ACL、RBAC、ABAC等多种访问控制模型。

PHP 07月12日 296

PHP-Casbin:一个让开发者不再为权限控制 “重复造轮子” 的工具

今天想和大家聊聊这个陪伴我从 “个人侧写” 到 “企业级解决方案” 的开源项目,一个让 PHP 开发者不用再为权限控制 “重复造轮子” 的工具。

从 2018 年发布第一个版本,到现在 GitHub 1.3k + Star,PHP-Casbin的成长,其实是无数 PHP 开发者 “权限痛点” 的解决方案集合。

如果你也曾在项目里写过if($role == 'admin')的硬编码,或是为多租户权限隔离挠破头,那这篇文章,或许能给你一个更优雅的答案。

曾经接手过一个电商 SaaS 项目的权限重构。当时的代码让我至今印象深刻:100 多个控制器里,每个方法都嵌着权限判断逻辑,比如订单列表页要写“管理员看所有、商家看自己的、客服看分配的”,光是这一段逻辑,在不同模块里重复了 20 多次。

PHP 07月03日 6736

Go 原生模糊测试 Fuzzing 让 bug 无处遁形

在日常开发中,你是否经历过这样的场景:单元测试覆盖率 100%,线上却因一个特殊字符崩溃?或者反复调试边界条件,依然被用户反馈的离奇崩溃折磨?

这些痛点背后,往往隐藏着传统测试方法的盲区。而 Go 1.18 推出的原生模糊测试(Fuzzing),正是为解决这类问题而生。本文将带你彻底掌握这一利器,让代码健壮性再上台阶!

1988 年,威斯康星大学的 Barton Miller 教授在雷雨夜通过拨号连接操作Unix时,发现程序因线路干扰产生的失真输入频繁崩溃。这一偶然事件揭示了软件健壮性的致命短板——程序无法优雅处理“意外”。Miller团队随后系统性验证:向程序注入随机噪声数据,竟能触发大量未处理的崩溃和挂起。这种混沌测试方法,便是模糊测试的雏形。

与传统测试的本质区别:

PHP 07月02日 546

在 Go 语言中两个 interface{} 可以比较吗?

今天网上刷到一个网友的提问:在 Go 语言中两个 interface{} 可以比较吗?我想了一下,在我的项目中,几乎很少去直接比较两个interface{}类型的变量,但真要比较的话,答案是肯定的,两个interface{}肯定可以比较,但是多少得注意一下细节。随后,我就在网上查阅了相关资料,在这里和大家详细分享一下。

interface{}不仅仅用来表示接口,它是一个动态类型,可以用来表示任意类型,也有一个别名any。这里所说的比较是指用==!=比较。

PHP 06月12日 6742

PHP-Casbin:现代化 PHP 应用的权限管理引擎

在当今复杂的Web应用中,精细化的权限管理是保障系统安全的关键环节。PHP-Casbin 作为Casbin生态的PHP实现,凭借其灵活的模型支持和强大的扩展能力,已成为PHP开发者实现访问控制的首选工具。

PHP-Casbin 基于PERM(Policy/Effect/Request/Matcher)模型,抽象出通用的访问控制框架。

PHP 06月05日 746

Ollama 让开源大语言模型触手可及

前有 ChatGPT 的横空出世,现有 DeepSeek 的后生可畏。

在人工智能(AI)飞速发展的今天,大语言模型(LLMs)百家争鸣、群英荟萃,AI已经成为人们茶余饭后必备的话题,更是人们工作、学习中必备的工具。

PHP 02月24日 8936

在 Linux 中如何开启 ssh 远程连接

无论你是什么方向的开发者,在日常工作中必不可少的要和 Linux 系统打交道。在打交道之前,就必须先远程连接上去,应该很少人人会使用VNC远程连接吧,更何况很少作为开发的Linux系统不会安装图形库界面吧,那就必须得使用命令行SSH远程连接了。

要安装SSH,肯定的直接在机器上操作,物理机你就接个键盘、显示器,虚拟机直接用界面连接操作。

首先需要安装openssh-server,如果已经安装可跳过下面的命令。

PHP 2024年07月20日 208

在 Laravel 中使用 Vite 来构建静态资源

之前做Laravel项目,一直使用的是Laravel Mix打包静态资源。但是随着Vite的横空出世,Laravel已经默认使用Vite来打包静态资源了。

在此之前,你需要创建一个Laravel项目,并准备PHPNode.js环境。

LaravelVite插件是laravel-vite-plugin。项目默认的package.json中的依赖项已经包含了,只需要安装一下即可。

npm install
PHP 2024年06月28日 1151

在 Laravel 中结合 Vite 搭建 Vue 应用

Laravel 是一个优雅的 PHP WEB框架,在早期的版本中,一般是采用Mix搭配webpack来构建前端资源。

Vue 是一个渐进式 JavaScript 框架,Vite 是下一代前端开发和构建工具。那么这个组合起来,堪称绝美

下面是我所使用的版本:

  • PHP 8.2
  • Laravel 11.8.0
  • Node 20.13
  • Vite 5.0
  • Vue 3.4
PHP 2024年05月20日 6850

Laravel 框架中如何打印 sql 语句到日志中

在开发过程中,难免需要对 sql 语句的问题排查,我们可以把程序执行中运行的 sql 语句记录到日志中。

甚至,还可以记录 sql 语句的执行时间,对执行时间过长的 sql 的语句增加预警等。

Laravel 框架提供的 sql 监听事件,只需要在 Provider 的 boot 方法里增加监听回调即可。

PHP 2024年04月19日 938

在 CentOS 7.9 中使用 Yum 快速安装 PHP 8.3

目前,CentOS 7.9 已经算是很古老的系统了,但仍然还在很多公司中使用。安装 PHP 有编译安装,也可以使用 Yum 安装,前者较为复杂,耗时耗力,后者就很简单而且很快。但是官方的 Yum 中自带的 PHP 版本也只有很古老的 PHP 5.4 了,要想安装比较新的 PHP 8 就需要使用第三方提供的 Yum 源了。

Remi's RPM repository(简称 Remi 仓库)是由法国开发者 Remi Collet 维护的一个针对 Red Hat Enterprise Linux(RHEL)及其衍生发行版(如 CentOS、Oracle Linux 等)的第三方软件仓库。

所以,这里我就使用 Remi 源安 PHP 8.3 做一下介绍。

PHP 2023年12月09日 579

Casbin 中 Model 的语法详解

Casbin 是一个高效强大的开源访问控制框架,它支持 ACL、RBAC、ABAC 等多种模型。

Model,即模型,是 Casbin 的一个重要组成部分,模型的定义简单而复杂,且充满学问Model 的作用,是对权限模型的定义,例如:aclrbacabac 等权限模型。

模型配置主要有五个部分:[request_definition],[policy_definition],[role_definition],[policy_effect] 和 [matchers],分别表示请求定义、策略定义、角色定义、策略效果定义、匹配器,其中 [role_definition] 角色定义是用于基于角色的模型(RBAC),支持用 # 开头表示注释。

[request_definition]
r = sub, obj, act
PHP 2023年09月20日 3801

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

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

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

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

PHP 2023年08月15日 6802

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

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

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

PHP 2023年07月11日 8739

排行

解决方案

网站建设

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

系统开发

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

技术支撑

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

业务中台

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

文案策划

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

新媒体运营

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

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

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