Laravel Admin — это пакет панели администратора для Laravel, который обеспечивает быстрое создание шаблонов и разработку, использует панель управления материалами.
Проект основан на панели администратора Laravel и панели управления материалами Laravel.
Этот пакет имеет модульный подход, для которого он использует модуль Laravel. Дополнительную информацию об этом подходе см. в документации: https://github.com/nWidart/laravel-modules.
При установке этого пакета модуль Admin
будет опубликован в папке Modules
в корне вашего проекта.
Laravel >=7
PHP >= 7.0
После инициализации экземпляра Laravel
Автозагрузка: по умолчанию классы модулей не загружаются автоматически. Вы можете автоматически загружать свои модули с помощью psr-4
, добавив "Modules\": "Modules/"
в композитор.json .
{
"autoload" : {
"psr-4" : {
"App \ " : " app/ " ,
"Modules \ " : " Modules/ " ,
}
}
}
Совет: не забудьте потом запустить composer dump-autoload
.
Бегать
composer require jjanampa/laravel-admin
Установите пакет администратора.
php artisan laravel-admin:install
Поставщик услуг будет обнаружен автоматически.
выполните
php artisan laravel-admin:install --force
для принудительной установки, этот процесс воссоздает модульAdmin
, удаляет и воссоздает следующие таблицы:admin_users, admin_roles, admin_permissions, admin_permission_role, admin_role_user, pages, settings
Посетите (APP_URL)/admin
, чтобы получить доступ к панели администратора.
Логин администратора по умолчанию:
Email Address: [email protected]
Password: secret
Создайте некоторые разрешения.
Создайте несколько ролей.
Назначьте разрешения для роли.
Создайте пользователя(ей) с ролью.
Для проверки роли аутентифицированного пользователя см. ниже:
// Check role anywhere
if ( auth ( ' admin ' )-> user ()-> hasRole ( ' editor ' )) {
// Do admin stuff here
} else {
// Do nothing
}
// Check role in route middleware
Route:: resource ( ' pages ' , ' DashboardPagesController ' )-> middleware ( ' role:editor ' );
Для проверки разрешений см. ниже:
if ( auth ( ' admin ' )-> user ()-> can ( ' permission-name ' )) {
// Do something
}
Узнайте больше о ACL здесь.
Для журнала активности прочтите документацию spatie/laravel-activitylog
.
Администраторы пользователей | Роли администратора | Разрешения администратора |
---|---|---|
Страницы | Журнал активности | Настройки |
Профиль | Авторизоваться | Забыли пароль |