houseoftech / cakephp-acl-manager
CakePHP 2.x 的 AclManager
1.3.2
2016-03-19 06:50 UTC
Requires
- php: >=5.2.8
- composer/installers: *
This package is auto-updated.
Last update: 2024-09-21 02:17:52 UTC
README
此插件允许您通过 Acl 模块轻松管理 CakePHP 2.x 中的权限。
功能
- 管理每个节点的权限
- 使用缺失的 AROs(用户、角色等)更新数据库
- 使用缺失的 ACOs(控制器操作)更新数据库
- 撤销所有权限
要求
- CakePHP 2.x
如何安装
1. 设置 Acl 环境
- 通过 Cake Console 安装 SQL 表
- 在您的请求者模型上实现 parentNode() 方法
见:CakePHP: Simple ACL Controlled Application
2. 在 AppController 中配置 Auth
它应该看起来像这样
var $components = array('Auth', 'Acl', 'Session'); function beforeFilter() { //Configure AuthComponent $this->Auth->authorize = array( 'Controller', 'Actions' => array('actionPath' => 'controllers') ); $this->Auth->authenticate = array( 'Form' => array( 'fields' => array( 'username' => 'login', 'password' => 'password' ) ) ); $this->Auth->loginAction = array( 'controller' => 'users', 'action' => 'login', 'admin' => false, 'plugin' => false ); $this->Auth->logoutRedirect = array( 'controller' => 'users', 'action' => 'login', 'admin' => false, 'plugin' => false ); $this->Auth->loginRedirect = array( 'controller' => 'products', 'action' => 'index', 'admin' => false, 'plugin' => false ); } function isAuthorized($user) { // return false; return $this->Auth->loggedIn(); }
3. 下载 AclManager
手动
下载稳定分支(https://github.com/houseoftech/cakephp-acl-manager/archive/stable.zip)并将其内容粘贴到您的 app/Plugin/
目录。
使用 Composer
- 安装 composer 到您的项目的
app/
文件夹。 - 将
"houseoftech/cakephp-acl-manager": "stable"
添加到您的composer.json
文件中的require
键。(更多关于此) - 运行
php composer.phar install
安装插件。
4. 配置插件
见 AclManager/Config/bootstrap.php
AclManager.aros:在此处写入您的请求者模型别名(顺序很重要)
5. 启用插件
在 app/Config/bootstrap.php
CakePlugin::load('AclManager', array('bootstrap' => true));
6. 使用现有用户登录
该插件与 $this->Auth->allow()
冲突,请勿使用它。只需确保您已登录。
7. 在 /acl_manager/acl
访问插件
- 更新您的 AROs 和 ACOs
- 设置您的权限(不要忘记启用您自己的公开操作!)
8. 禁用授权控制器
或在 AppController::isAuthorized()
中取消注释 return false
9. 完成了!
享受!
许可证
在 MIT 许可证 下许可