brutalhost/evocms-authforms

此包最新版本(dev-master)没有提供许可证信息。

dev-master 2024-09-21 16:47 UTC

This package is auto-updated.

Last update: 2024-09-21 16:47:28 UTC


README

该包添加了前端的基本认证、注册和密码更改表单。基于eovcms-user开发。

优点

  • 易于修改自定义表单处理,"底层"为 evocms-user
  • Blade 模板位于 views/authforms 文件夹中
  • 精细调整行为(注册后立即激活,发送确认账户的邮件等)
  • 在配置中指定组、角色
  • 本地化 ru, en

屏幕截图

Вход Регистрация Восстановление пароля

安装

cd core
composer update
php artisan package:installrequire brutalhost/evocms-authforms "*"
php artisan vendor:publish --provider="EvolutionCMS\EvoUser\EvoUserServiceProvider"
php artisan vendor:publish --provider="EvolutionCMS\Authforms\AuthformsServiceProvider"
php artisan authforms:redirect-doc

将创建以下文件

📄 core/custom/config/authforms.php
📄 core/custom/evocms-user/configs/evouser.php.authforms-example
📁 views/authforms
✅ AuthForms Reset Password - документ в админ-панели

配置

📄 core/custom/evocms-user/configs/evouser.php.authforms-example

文件包含 evocms-user 的配置。要使其生效,将其重命名为 evouser.php

📄 core/custom/config/authforms.php

设置生成的文档 id ✅ AuthForms 重置密码

"RegisterVerifyUserPageId" => 123, // IDAuthForms Reset Password
"ResetPasswordPageId" => 123, // IDAuthForms Reset Password

此处指定注册时分配给用户的角色和组

'RegisterUserWithRole' => 5,
'RegisterUserWithUserGroups' => [1],

📁 views/authforms

包含包的 blade 文件,设计用于独立修改。

✅ AuthForms 重置密码

文档确保与 evocms-user 包兼容。需要用于恢复密码、用户验证。

路由

按以下模板生成 /[配置中的前缀]/login[友好 URL 后缀]

  • [配置中的前缀] - config/authforms.php -> url_prefix
  • [友好 URL 后缀] - 网站配置 -> 友好 URL -> 友好 URL 后缀: [(friendly_url_suffix)]

默认路由

  • /login.html
  • /register.html
  • /reset_password.html

登出

要使 evocms-user 处理登出,请向 BaseController 中添加此包服务的调用

<?php

namespace EvolutionCMS\Main\Controllers;

use EvolutionCMS\TemplateController;

class BaseController extends TemplateController
{
    public $data = [];

    public function process()
    {
        $currentUser = app('evouser')->do('user', ['web']);
        $this->data['user'] = $currentUser === null ? null :  app('evouser')->withoutRules()->do('ProfileInfo', [ 'user' => $currentUser ]);
        $this->setData();
        $this->addViewData($this->data);
    }

    public function setData()
    {
        /**
         * этот метод будем вызывать в других контроллерах
         * и именно в нём будем задавать значения для
         * переменной $data
         */
    }
}

指定 GET 参数 /?logout 时将发生登出。