CakePHP TinyAuth 插件使用教程
1. 项目目录结构及介绍
CakePHP TinyAuth 插件的目录结构如下:
cakephp-tinyauth/
├── composer.json
├── LICENSE
├── README.md
├── config/
│ ├── auth_acl.ini
│ ├── auth_allow.ini
│ └── bootstrap.php
├── src/
│ ├── Controller/
│ ├── Model/
│ ├── Plugin/
│ └── View/
├── tests/
│ ├── TestCase/
│ └── bootstrap.php
├── templates/
│ └── element/
└── webroot/
目录结构介绍
composer.json
: 项目的依赖管理文件,用于定义项目的依赖关系。LICENSE
: 项目的开源许可证文件,通常为 MIT 许可证。README.md
: 项目的介绍文件,包含项目的概述、安装方法和使用说明。config/
: 配置文件目录,包含项目的配置文件。auth_acl.ini
: 定义用户角色和权限的配置文件。auth_allow.ini
: 定义公共访问权限的配置文件。bootstrap.php
: 项目的引导文件,用于加载插件和其他初始化操作。
src/
: 源代码目录,包含项目的控制器、模型、插件和视图。Controller/
: 控制器目录,包含项目的控制器类。Model/
: 模型目录,包含项目的模型类。Plugin/
: 插件目录,包含项目的插件类。View/
: 视图目录,包含项目的视图文件。
tests/
: 测试目录,包含项目的测试用例和测试引导文件。TestCase/
: 测试用例目录,包含项目的测试用例类。bootstrap.php
: 测试引导文件,用于加载测试环境。
templates/
: 模板目录,包含项目的模板文件。element/
: 元素目录,包含项目的元素模板文件。
webroot/
: Web 根目录,包含项目的静态文件和入口文件。
2. 项目的启动文件介绍
CakePHP TinyAuth 插件的启动文件主要位于 config/bootstrap.php
文件中。该文件负责加载插件并进行初始化操作。
config/bootstrap.php
文件介绍
<?php
use Cake\Core\Plugin;
// 加载 TinyAuth 插件
Plugin::load('TinyAuth');
该文件通过 Plugin::load('TinyAuth')
方法加载 TinyAuth 插件,确保插件在项目启动时被正确加载。
3. 项目的配置文件介绍
CakePHP TinyAuth 插件的配置文件主要位于 config/
目录下,包括 auth_acl.ini
和 auth_allow.ini
两个文件。
auth_acl.ini
文件介绍
auth_acl.ini
文件用于定义用户角色和权限的配置。以下是一个示例配置:
[Users]
index = *
add,edit = user,super-user
[Admin/Users]
* = admin
[Translate/Admin/Languages]
* = *
[Users]
: 定义Users
控制器的权限配置。index = *
: 表示index
操作对所有用户开放。add,edit = user,super-user
: 表示add
和edit
操作仅对user
和super-user
角色开放。
[Admin/Users]
: 定义Admin/Users
控制器的权限配置。* = admin
: 表示所有操作仅对admin
角色开放。
[Translate/Admin/Languages]
: 定义Translate/Admin/Languages
控制器的权限配置。* = *
: 表示所有操作对所有角色开放。
auth_allow.ini
文件介绍
auth_allow.ini
文件用于定义公共访问权限的配置。以下是一个示例配置:
Users = index,view
Admin/Maintenance = pingCheck
PluginName/SomeController = *
MyPlugin/Api/V1 = *
Users = index,view
: 表示Users
控制器的index
和view
操作对所有用户开放。Admin/Maintenance = pingCheck
: 表示Admin/Maintenance
控制器的pingCheck
操作对所有用户开放。PluginName/SomeController = *
: 表示PluginName/SomeController
控制器的所有操作对所有用户开放。MyPlugin/Api/V1 = *
: 表示MyPlugin/Api/V1
控制器的所有操作对所有用户开放。
通过这两个配置文件,可以灵活地控制用户访问权限和公共访问权限,实现快速的用户认证和授权。