4geo35 / user-management
Interface for manage users
Installs: 33
Dependents: 10
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/4geo35/user-management
Requires
- ext-fileinfo: *
- 4geo35/tailwindcss-theme: ^1.0
- laravel/fortify: ^1.25
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" - ключ политики (если в дальнейшем его поменять, то старая модель удалится при запуске команды)