相關文件
1. 建立新應用
php artisan admin:app NewAdmin // 必須是大駝峰命名
2. 配置多後臺
新應用生成完之後,就可以開始啟用這個新應用了,開啟配置檔案 config/admin.php
,加入以下程式碼
return [
...
'multi_app' => [
// 與新應用的配置檔名稱一致
// 設定為true啟用,false則是停用
'new-admin' => true,
],
];
3. 更改路由字首
目前只能通過路由字首區分不同應用,如果你想要更改應用的字首,可以開啟配置檔案 new-admin.php
找到 route.prefix
引數進行更改即可。
預設是通過路由字首區分應用的,如果想要使用域名區分應用,只需要更改如下配置即可
'route' => [
'domain' => 'dev.dcat.com', // 配置你的域名
'prefix' => '', // 路由字首建議設定為空
'namespace' => 'App\\Admin\\Controllers',
'middleware' => ['web', 'admin'],
],
4. 配置使用者授權
我們要做的是完全獨立的管理後臺,還需要更改配置檔案 config/new-admin.php
中的以下引數
'auth' => [
...
'guard' => 'new-admin', // 必須是一個新的名字
'guards' => [
'new-admin' => [
'driver' => 'session',
'provider' => 'new-admin', // 必須是一個新的名字
],
],
'providers' => [
'new-admin' => [ // 必須是一個新的名字
'driver' => 'eloquent',
// 這裡換成新使用者表的模型
'model' => App\Models\NewAdministrator::class,
],
],
...
],
5. 配置資料庫表
獨立應用的管理賬號和許可權和主應用是分離的,需要重新建立 RBAC
先這些資料表挨個複製一遍,改成你自己的表字首,再開啟專案程式碼的 vendor/dcat/laravel-admin/src/Models/
資料夾複製到 App\NewAdmin
資料夾,然後再去修改 config\new-admin.php
檔案 database
部分
...
'database' => [
// Database connection for following tables.
'connection' => '',
// User tables and model.
'users_table' => 'new_admin_user',
'users_model' => \App\NewAdmin\Models\Administrator::class,
// Role table and model.
'roles_table' => 'new_admin_roles',
'roles_model' => \App\NewAdmin\Models\Role::class,
// Permission table and model.
'permissions_table' => 'new_admin_permissions',
'permissions_model' => \App\NewAdmin\Models\Permission::class,
// Menu table and model.
'menu_table' => 'new_admin_menu',
'menu_model' => \App\NewAdmin\Models\Menu::class,
// Pivot table for table above.
'role_users_table' => 'new_admin_role_users',
'role_permissions_table' => 'new_admin_role_permissions',
'role_menu_table' => 'new_admin_role_menu',
'permission_menu_table' => 'new_admin_permission_menu',
'settings_table' => 'new_admin_settings',
'extensions_table' => 'new_admin_extensions',
'extension_histories_table' => 'new_admin_extension_histories',
],
重新修改一下這部分的 模型 和 表,然後再替換 App\NewAdmin\Models
資料夾
// 將 config 相關的替換成新的應用配置
config('admin.*
// 替換成
config('new-admin.*
到這就差不多了,如果有覆寫檢視的需求,還需要在 App\NewAdmin\bootstrap.php
檔案中加入
app('view')->prependNamespace('admin', resource_path('{{自定義專案檢視}}'));
基本流程跟文件差不多,這裡記錄一下完整的流程。
本作品採用《CC 協議》,轉載必須註明作者和本文連結