brutalhost/evocms-authforms

There is no license information available for the latest version (dev-master) of this package.

dev-master 2024-11-22 13:36 UTC

This package is auto-updated.

Last update: 2024-12-22 13:49:35 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 Reset Password:

"RegisterVerifyUserPageId" => 123, // ID ✅ AuthForms Reset Password
"ResetPasswordPageId" => 123, // ID ✅ AuthForms Reset Password

Здесь указать роли и группы, присваиваемые пользователю при регистрации:

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

📁 views/authforms

Содержит blade файлы пакета, рассчитано на самостоятельную модификацию.

✅ AuthForms Reset Password

Документ обеспечивает совместимость с пакетом evocms-user. Требуется для восстановления пароля, верификации пользователя.

Маршруты

Формируются по шаблону /[префикс_из_конфига]/login[суффикс_для_дружественных_url]

  • [префикс_из_конфига] - config/authforms.php -> url_prefix
  • [суффикс_для_дружественных_url] - Конфигурация сайта -> Дружественные URL -> Суффикс для дружественных URL: [(friendly_url_suffix)]

Маршруты по умолчанию

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

Logout

Чтобы 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 будет происходить выход из аккаунта.