cakephp / acl
CakePHP 框架的 Acl 插件
0.10.1
2024-04-01 16:58 UTC
Requires
- php: >=7.2
- cakephp/cakephp: ^4.0
- cakephp/plugin-installer: ^1.2
Requires (Dev)
- cakephp/cakephp-codesniffer: ~4.2.0
- phpunit/phpunit: ^8.0
README
ℹ️ CakePHP 核心团队没有积极维护 ACL 插件。 ℹ️ 欢迎提交修复问题的 PR。
作为现代替代方案,请查看 Authentication 和 Authorization 插件。
CakePHP 应用程序中管理 ACL 的插件。
通过 composer 安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。
安装 composer 包的推荐方法是
composer require cakephp/acl
然后在您的 src/Application.php
public function bootstrap() { parent::bootstrap(); $this->addPlugin('Acl'); }
创建表
要创建 ACL,需要表,运行以下 Migrations
命令
bin/cake migrations migrate -p Acl
附加行为
将 Acl
行为添加到您的表中,以便在保存新记录时自动创建一个 aco
public function initialize(array $config) { parent::initialize($config); $this->addBehavior('Acl.Acl', ['controlled']); }
更新实体
在您可以使用行为之前,您必须将 parentNode()
方法添加到相应的 Entity
文件,否则 AclBehavior
将无法确定父-子关系。同时,确保该方法返回 null 或父模型引用。
public function parentNode() { return null; }
如果一切顺利,您现在应该在保存新记录时看到
acos
数据库表中出现条目。
运行测试
假设您已通过以下方法之一在系统范围内安装了 PHPUnit,您可以通过以下操作运行 Acl 插件的测试
- 将
phpunit.xml.dist
复制到phpunit.xml
- 如果您想针对非 SQLite 数据源运行测试,请在 phpunit.xml 中添加相关的数据库凭据。
- 运行
phpunit