albertotain/user-manager

CakePHP 4的用户管理插件

安装次数: 28

依赖项: 0

建议者: 0

安全: 0

星星: 2

关注者: 1

分支: 0

公开问题: 0

类型:cakephp-plugin

0.1.0 2020-04-17 15:56 UTC

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
	]);

执行迁移以在数据库中生成表。

将创建UsersRoles表。将创建管理员角色和一个管理员用户

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