4geo35/user-management

Interface for manage users

v1.0.7 2025-03-27 14:31 UTC

This package is auto-updated.

Last update: 2025-03-27 14:32:19 UTC


README

Описание

Пакет содержит интерфейс администрирования для пользователей. Через конфиг user-management можно переименовать путь и изменить класс компонента для livewire, что бы дописать методы.

Страница содержит таблицу пользователей, полностью на livewire. Есть поиск по двум полям пользователя, добавление, редактирование и удаление.

Есть страница для создания ролей и редактирования прав. В модели Permission добавляются файлы политик, через которые можно настроить права для ролей, создаются права при помощи конфигурации и команды.

К пользователю добавляется поле super, при котором игнорируются все права доступа (все политики).

Добавляет middleware app-management - дает доступ только тем пользователям, у которых есть роль с правом управления сайтом

Добавляет middleware super-user - дает доступ только пользователям с заполненным полем super

Установка

Добавить "./vendor/4geo35/user-management/src/resources/views/**/*.blade.php", в tailwind.admin.config.js, созданный в пакете tailwindcss-theme.

Добавить трейт use ShouldRole; (use GIS\UserManagement\Traits\ShouldRole;) в класс пользователя.

Запустить миграции для создания ролей php artisan migrate

Создать права доступа из конфигурации php artisan um:permissions

Добавить в auth.php в guards, что бы работал токен авторизации:

"api" => [
        "driver" => "token",
        "provider" => "users",
        "storage_key" => "api_token",
    ]

Команды

php artisan um:super {--id=} {--email} - меняет статус супер пользователя для выбранного (по id или email)

php artisan um:permissions {--default} - создает права доступа на основе конфигурации, они появляются у роли, на странице редактирования ролей

Конфигурация

  • pageUrl - адрес страницы пользователей
  • customIndexComponent - задать свой livewire компонент для страницы пользователей
  • prefix - префикс страницы пользователей (по умолчанию admin)
  • as - задает префикс имени роута страницы пользователей (по умолчанию admin.)
  • userPolicy - класс политики для пользователей
  • userPolicyTitle - заголовок прав для пользователя на странице ролей
  • userPolicyKey - ключ политики для сохранения в правах доступа (не рекомендуется менять)
  • customUserObserver - задать своего наблюдателя за пользователями
  • rolesUrl - адрес страницы с ролями
  • customRoleIndexComponent - задать свой livewire компонент для страницы ролей
  • rolePolicy - класс политики для ролей
  • rolePolicyTitle - заголовок прав для ролей на странице ролей
  • rolePolicyKey - ключ политики для сохранения в правах доступа (не рекомендуется менять)
  • permissions - список политик для сохранения в качестве прав доступа. Структура каждого элемента: "title" - заголовок, "policy" - класс политики, "key" - ключ политики (если в дальнейшем его поменять, то старая модель удалится при запуске команды)