Dcat admin 配置多后台独立应用记录
相关文档
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'],
// SESSION 隔离
'enable_session_middleware' => true,
],
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 协议》,转载必须注明作者和本文链接
推荐文章: