Think-authz:ThinkPHP 的授权库
项目基础介绍和主要编程语言
Think-authz 是一个专为 ThinkPHP 框架打造的授权库,它基于 PHP-Casbin,一个强大且高效的开源访问控制框架。该项目主要使用 PHP 语言编写,适用于 PHP 7.1+ 和 ThinkPHP 6.x/8.x 版本。对于 ThinkPHP 5.1 版本,请使用 Think-Casbin。
项目核心功能
Think-authz 支持多种访问控制模型,包括:
- ACL(访问控制列表)
- RBAC(基于角色的访问控制)
- ABAC(基于属性的访问控制)
该库提供了丰富的 API 和中间件,方便开发者进行权限管理和控制。主要功能包括:
- 权限管理:添加、删除和检查用户或角色的权限。
- 角色管理:为用户分配和删除角色,检查用户是否拥有某个角色。
- 策略管理:管理访问控制策略,支持动态添加和删除策略。
- 中间件支持:通过中间件实现路由级别的权限控制。
项目最近更新的功能
截至最新版本,Think-authz 的更新内容包括:
- 缓存配置:通过配置
config/tauthz.php
中的cache
选项,可以开启或关闭缓存,并配置缓存标识和过期时间。 - 自定义缓存策略:开发者可以通过继承
tauthz\cache\CacheHandler
实现自定义缓存策略。 - API 增强:新增了更多用于权限和角色管理的 API,如
getPermissionsForUser
、hasPermissionForUser
等。 - 文档更新:更新了项目文档,提供了更详细的安装和使用指南。
通过这些更新,Think-authz 进一步提升了其在 ThinkPHP 框架中的权限管理能力,为开发者提供了更灵活和高效的权限控制解决方案。