albertotain / user-manager
CakePHP 4的用户管理插件
0.1.0
2020-04-17 15:56 UTC
Requires
- cakephp/cakephp: ^4.0
- lcobucci/jwt: ^3.2
Requires (Dev)
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-18 01:51:34 UTC
README
安装
您可以使用composer将此插件安装到您的CakePHP应用程序中。
安装composer包的推荐方法是
composer require albertotain/user-manager
配置
在:src/Application.php中添加插件
public function bootstrap(): void {
$this->addPlugin('UserManager');
}
在:config/app_local.php中进行配置
'EmailTransport' => [
'default' => [
'host' => '',
'port' => 465,
'username' => '',
'password' => '',
'client' => null,
'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
],
],
在initialize()
中进行配置:src/Controller/AppController
$this->loadComponent('FormProtection'); $this->loadComponent('Auth', [ 'loginAction' => [ 'plugin' => 'UserManager', 'controller' => 'Users', 'action' => 'login', 'prefix' => false ], 'loginRedirect' => [ 'plugin' => 'UserManager', 'controller' => 'Users', 'action' => 'index', 'prefix' => false ], 'logoutRedirect' => [ 'plugin' => 'UserManager', 'controller' => 'Users', 'action' => 'login', 'prefix' => false ], 'unauthorizedRedirect' => [ 'plugin' => 'UserManager', 'controller' => 'Users', 'action' => 'login', 'prefix' => false ], 'authError' => __('Acceso no permitido.'), 'authenticate' => ['Form' => ['fields' => ['username' => 'email']]], 'storage' => 'Session', 'autoRedirect' => false ]);
执行迁移以在数据库中生成表。
将创建Users
和Roles
表。将创建管理员角色和一个管理员用户
- 邮箱:admin@admin.es
- 密码:admin
bin/cake migrations migrate -p UserManager bin/cake migrations seed -p UserManager
在:src/templates/layout/创建布局
-login.php
- 然后将其添加到您的模板中
- fetch('css') ?>
- fetch('script'); ?>
<!DOCTYPE html> <html lang="es"> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <title></title> <?= $this->fetch('meta') ?> <?= $this->fetch('css') ?> </head> <body> <?= $this->Flash->render(); ?> <?= $this->fetch('content'); ?> <div id="footer" class="container"></div> <?= $this->fetch('script'); ?> </body> </html>
在:src/templates/layout/email/html/创建电子邮件模板
- forgot_password.php
在:src/templates/Users/创建视图
- login.php
- forgot_password.php
- reset_password.php
应用程序中启用的路由
- /user-manager/login
- /user-manager/forgot-password
(需要登录到应用程序)
- /user-manager/users
- /user-manager/users/add
- /user-manager/users/edit/:id
- /user-manager/roles
- /user-manager/roles/add
- /user-manager/roles/edit/:id
- /user-manager/roles/delete/:id