Laravel Admin 设置方法

你好!
我是系统开发部的松木。
本文将介绍如何设置 Laravel 管理后台!
什么是 Laravel Admin?
Laravel Admin 是一个使用 Laravel 框架开发的管理工具。
它可以让您轻松地为您的应用程序创建管理仪表板或控制面板。
您可以使用 Laravel Admin 来管理各种数据和资源。
环境
码头工人:23.0.1
Laravel:10.37.1
PHP:8.2
MySQL:8.0
Nginx:1.23.3
安装说明
登录屏幕显示
执行以下命令安装 Laravel Admin。
composer require encore/laravel-admin
接下来,使用以下命令将已安装的 Laravel Admin 文件添加到您的 Laravel 项目中。
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
接下来,使用以下命令为 Laravel Admin 创建一个标准表。
php artisan admin:install
如果上述命令执行成功,将显示以下内容,并且标准表创建将完成。
root@d816ac03c504:/var/www/html# php artisan admin:install INFO 正在准备数据库。正在创建迁移表 ................................................................................................ 126ms DONE INFO 正在运行迁移。 2014_10_12_000000_create_users_table .................................................................................. 133ms 完成 2014_10_12_100000_create_password_reset_tokens_table ................................................................................ 190ms 完成 2016_01_04_173148_create_admin_tables ................................................................................ 976ms 完成 2019_08_19_000000_create_failed_jobs_table ................................................................................... 101ms 完成 2019_12_14_000001_create_personal_access_tokens_table ...................................................................... 147ms 完成 信息:正在初始化数据库。已创建管理目录:/app/Admin;已创建 HomeController 文件:/app/Admin/Controllers/HomeController.php;已创建 AuthController 文件:/app/Admin/Controllers/AuthController.php;已创建 ExampleController 文件:/app/Admin/Controllers/ExampleController.php;已创建 Bootstrap 文件:/app/Admin/bootstrap.php;已创建路由文件:/app/Admin/routes.php
完成上述步骤后,请尝试访问 Laravel-Admin 登录界面。
如果访问成功,将显示以下屏幕。

创建管理员用户
我能够显示登录界面,但我无法创建必要的登录用户。
下一步是创建一个管理员用户用于登录。
首先,准备一个合适的播种机。
在这种情况下,我们将创建一个名为 UserSeeder 的用户,因此请运行以下命令。
php artisan make:seeder 用户种子
接下来,要在供应商下使用种子程序,请在创建的种子程序中编写流程:
打开 /vendor/encore/laravel-admin/src/Auth/Database/AdminTablesSeeder.php 文件,并复制 public function run(){} 的内容。
将复制的内容替换到 UserSeeder 的公共函数 run(){} 中。
替换后的内容如下:
<?php namespace Database\Seeders; use Encore\Admin\Auth\Database\Administrator; use Encore\Admin\Auth\Database\Menu; use Encore\Admin\Auth\Database\Permission; use Encore\Admin\Auth\Database\Role; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Hash; class UserSeeder extends Seeder { /** * Run the database seeds. */ public function run() { // create a user. Administrator::truncate(); Administrator::create([ 'username' => 'admin', 'password' => Hash::make('admin'), 'name' => 'Administrator', ]); // 创建角色。Role::truncate(); Role::create([ 'name' => 'Administrator', 'slug' => 'administrator', ]); // 将角色添加到用户。Administrator::first()->roles()->save(Role::first()); // 创建权限 Permission::truncate(); Permission::insert([ [ 'name' => '所有权限', 'slug' => '*', 'http_method' => '', 'http_path' => '*', ], [ 'name' => '仪表盘', 'slug' => 'dashboard', 'http_method' => 'GET', 'http_path' => '/', ], [ 'name' => '登录', 'slug' => 'auth.login', 'http_method' => '', 'http_path' => "/auth/login\r\n/auth/logout", ], [ 'name' => '用户设置', 'slug' => 'auth.setting', 'http_method' => 'GET,PUT', 'http_path' => '/auth/setting', ], [ 'name' => 'Auth management', 'slug' => 'auth.management', 'http_method' => '', 'http_path' => "/auth/roles\r\n/auth/permissions\r\n/auth/menu\r\n/auth/logs", ], ]); Role::first()->permissions()->save(Permission::first()); // 添加默认菜单。 Menu::truncate(); Menu::insert([ [ 'parent_id' => 0, 'order' => 1, 'title' => '仪表盘', 'icon' => 'fa-bar-chart', 'uri' => '/', ], [ 'parent_id' => 0, 'order' => 2, 'title' => '管理员', 'icon' => 'fa-tasks', 'uri' => '', ], [ 'parent_id' => 2, 'order' => 3, 'title' => '用户', 'icon' => 'fa-users', 'uri' => 'auth/users', ], [ 'parent_id' => 2, 'order' => 4, 'title' => '角色', 'icon' => 'fa-user', 'uri' => 'auth/roles', ], [ 'parent_id' => 2, 'order' => 5, 'title' => '权限', 'icon' => 'fa-ban', 'uri' => 'auth/permissions', ], [ 'parent_id' => 2, 'order' => 6, 'title' => '菜单', 'icon' => 'fa-bars', 'uri' => 'auth/menu', ], [ 'parent_id' => 2, 'order' => 7, 'title' => '操作日志', 'icon' => 'fa-history', 'uri' => 'auth/logs', ], ]); // 将角色添加到菜单。 Menu::find(2)->roles()->save(Role::first()); } }
接下来,输入你在 DatabaseSeeder 中创建的 UserSeeder。
<?php namespace Database\Seeders; // use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Seed the application's database. */ public function run(): void { $this->调用([ UserSeeder::class, ]); } }
完成这些步骤后,你只需要运行播种程序即可。
php artisan db:seed
种子程序运行完毕后,返回登录界面,输入你在种子程序中设置的用户名和密码。
这次用户名和密码都注册成了管理员,所以请在实际使用服务时更改它们。
两种情况下,输入 admin 并登录即可看到以下屏幕。

我也成功登录了。
至此,Laravel 管理后台的设置完成。
概括
你觉得怎么样?
Laravel Admin 设置起来非常简单,可以让你快速构建一个管理面板。
此外,如果您使用 Laravel Admin 创建表,则可以使用 GUI 操作该表。
请试用一下。
最后
我们为我所属的系统开发部门开设了服务网站“SEKARAKU Lab”。
Beyond是从服务器设计搭建到运营的一站式服务,所以如果您在服务器端开发方面遇到任何问题,请随时联系我们。
● SEKARAKU 实验室: https://sekarakulab.beyondjapan.com
2