laravel-admin multitenancy
======
在同一套laravel框架中安装多个互相独立的后台。
## Installation
解压之后放到`storage/multitenancy`目录下,然后打开项目根目录下的`composer.json`文件(注意:不是这个扩展包中的composer.json),增加下面的配置:
```json
"repositories": [
{
"type": "path",
"url": "storage/multitenancy",
"options": {
"symlink": false
}
}
]
```
然后运行`composer require laravel-admin-ext/multitenancy`安装它
如果运行上面命令的过程中出现下面的错误:
```bash
[InvalidArgumentException]
Could not find package laravel-admin-ext/multitenancy at any version for your minimum-stability (dev). Check the package spelling or your minimum-stability
```
这是由于composer的最小稳定性设置不满足,建议在composer.json里面将`minimum-stability`设置为`dev`,另外`prefer-stable`设置为true, 这样给你的应用安装其它package的时候,还是会倾向于安装稳定版本,
composer.json的修改如下
```json
{
...
"minimum-stability": "dev",
"prefer-stable": true,
...
}
```
然后运行下面的命令发布配置文件
```bash
php artisan vendor:publish --provider="Encore\Admin\Multitenancy\MultitenancyServiceProvider"
```
运行完成之后会生成新后台的配置文件`config/tenancy.php`, 这个文件和`config/admin.php`有一样的结构
由于新建的后台需要和原后台保持隔离,所以推荐新建一个新的数据库来存放对应表,这里要创建一个新的数据库,并且在`config/database.php`中添加一个名字为`tenancy`的数据库连接
> 当然数据库连接也可以是任何其它的名字,如果使用了其它的连接名,需要在`config/tenancy.php`中修改`database.connection`为相应的值。
> 如果你不想再创建一个新的数据库来安装新的后台,打开`config/tenancy.php`,将`database`下的`connection`设置为空字符串,然后下面的表配置全部重命名掉,避免和第一个后台的这几个表冲突,建议将`admin`前缀替换即可。
第二个后台将会默认安装在`app/Tenancy`目录下,如果你需要安装在其它目录,修改`config/tenancy.php`中的`directory`配置项即可,对应的`route.prefix`、`route.namespace`和`auth.controller`也要修改成对应的值。
把上面生成的配置文件路径写入`config/admin.php`的`extensions`下:
```php
'extensions' => [
'multitenancy' => [
'tenancy' => config_path('tenancy.php'),
]
]
```
最后运行下面的命令完成安装:
```bash
php artisan admin:install:tenancy
```
打开`http://localhost:8080/tenancy`访问新建的后台,这个新后台的开发工作就在`app/Tenancy`目录下了,这个后台对应的配置文件是`config/tenancy.php`,根据你的需求修改里面的配置。
## 安装多个后台
如果需要在这个项目中安装更多的后台,复制`config/tenancy.php`文件到config目录下,比如`config/platform.php`,然后参考上面修改里面的数据库连接
因为需要安装在一个新的目录,所以同样要修改`config/platform.php`中的`directory`、`route.prefix`、`route.namespace`和`auth.controller`这几个配置项的值,
然后把配置文件路径写入`config/admin.php`的`extensions`下:
```php
'extensions' => [
'multitenancy' => [
'tenancy' => config_path('tenancy.php'),
// 增加下面一行
'platform' => config_path('platform.php'),
]
]
```
最后运行下面的命令安装
```bash
php artisan admin:install:tenancy platform
```
如果你在`config/platform.php`设置的路由前缀是`paltform`, 那么就打开`http://localhost:8080/paltform`访问新建的后台。
## session冲突问题
如果你在同一个浏览器窗口打开两个后台,登入或者登出一个后台会影响到另一个后台,通过下面的方式来解决这个问题
### 区分路径访问
如果多个后台是通过不同的路径访问的,在每个后台的配置文件中(比如`config/admin.php`和`config/tenacy.php`)的route配置的中间件配置数据加上下面
```php
'route' => [
'prefix' => 'tenancy',
'namespace' => 'App\\Tenancy\\Controllers',
'middleware' => ['web', 'admin', 'multi-session:path,/tenancy'],
],
```
在`'multi-session:path,/tenancy'`中,`/tenancy`就是该后台的访问根路径
### 区分域名访问
如果多个后台是通过不同的域名访问的,分别在每个后台的配置文件中加上中间件
```php
'route' => [
'prefix' => 'tenancy',
'namespace' => 'App\\Tenancy\\Controllers',
'middleware' => ['web', 'admin', 'multi-session:domain,admin.laravel.com'],
],
```
在`'multi-session:domain,admin.laravel.com'`中,`admin.laravel.com`就是该后台的访问域名
## 常见问题
### 创建控制器
使用`php artisan admin:make`命令创建的控制器会在原后台目录下,你可以将生成的控制器移动到当前后台的`Controllers`目录下,然后修改一下命名空间即可。
如果你使用`v1.7.0`版本以上的laravel-admin, 可以加上`namespace`选项来指定生成的目录:
```shell
$ php artisan admin:make TestController --model=App\\Models\\User --title=用户管理 --namespace=App\\Tenancy\\Controllers
```
## 版本更新
下载新的版本之后,从安装步骤开始,到`composer require laravel-admin-ext/multitenancy`这一步即可。
## 版权声明
请尊重作者知识产权, 勿传播他人使用。
没有合适的资源?快使用搜索试试~ 我知道了~
健身类小程序前后端源码
共584个文件
php:189个
js:104个
png:93个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 120 浏览量
2022-06-13
22:08:52
上传
评论
收藏 3.13MB RAR 举报
温馨提示
健身类小程序前后端源码 环境要求: PHP >= 7.0 (推荐7.2+) Laravel 5.6+ 安装步骤: 安装PHP环境(请自行百度) 将源码上传到 web 目录 参考 Laravel 安装步骤就可以了 小程序源码是 weapp 目录,用 HBuilder 打开,填写自己小程序的 appid 配置好域名即可 推荐使用宝塔安装,比较省事,还有 PHP 相关的扩展需要启用,有些函数也需要启用(laravel 需要用到一些函数)。 效果图:https://blog.csdn.net/m0_66047725/article/details/125268637
资源推荐
资源详情
资源评论
收起资源包目录
健身类小程序前后端源码 (584个子文件)
artisan 2KB
web.config 1KB
app.css 125KB
bootstrap.min.css 122KB
AdminLTE.min.css 89KB
icon.css 70KB
main.css 63KB
index.css 57KB
_all-skins.min.css 41KB
sweetalert2.css 34KB
font-awesome.min.css 30KB
_all.css 21KB
bootstrap-editable.css 21KB
_all.css 15KB
select2.min.css 15KB
_all.css 14KB
_all.css 13KB
fileinput.min.css 8KB
bootstrap-datetimepicker.min.css 8KB
magnific-popup.css 7KB
toastr.min.css 6KB
bootstrap-switch.min.css 6KB
fontawesome-iconpicker.min.css 6KB
slider.css 4KB
skin-black-light.min.css 4KB
skin-blue-light.min.css 4KB
skin-yellow-light.min.css 4KB
skin-purple-light.min.css 4KB
skin-green-light.min.css 4KB
skin-red-light.min.css 4KB
skin-black.min.css 3KB
bootstrap-colorpicker.min.css 3KB
ion.rangeSlider.css 3KB
skin-blue.min.css 3KB
skin-purple.min.css 3KB
skin-yellow.min.css 3KB
skin-green.min.css 3KB
skin-red.min.css 3KB
animation.css 3KB
fonts.css 2KB
yellow.css 2KB
purple.css 2KB
orange.css 2KB
green.css 2KB
aero.css 2KB
blue.css 2KB
pink.css 2KB
grey.css 2KB
red.css 2KB
line.css 2KB
ion.rangeSlider.skinFlat.css 2KB
bootstrap-duallistbox.min.css 2KB
ion.rangeSlider.skinNice.css 2KB
yellow.css 2KB
purple.css 2KB
orange.css 2KB
yellow.css 2KB
purple.css 2KB
orange.css 2KB
green.css 2KB
green.css 2KB
aero.css 2KB
blue.css 2KB
grey.css 2KB
pink.css 2KB
laravel-admin.css 2KB
pink.css 2KB
blue.css 2KB
aero.css 2KB
grey.css 2KB
red.css 2KB
red.css 2KB
all.css 2KB
minimal.css 2KB
polaris.css 2KB
square.css 2KB
nestable.css 2KB
nprogress.css 1KB
yellow.css 1KB
orange.css 1KB
purple.css 1KB
green.css 1KB
grey.css 1KB
pink.css 1KB
aero.css 1KB
blue.css 1KB
futurico.css 1KB
red.css 1KB
flat.css 1KB
.editorconfig 213B
fontawesome-webfont.eot 162KB
glyphicons-halflings-regular.eot 20KB
Source-Sans-Pro.eot 16KB
.env.example 726B
loading-sm.gif 3KB
loading.gif 2KB
loading.gif 847B
default-50x50.gif 184B
.gitattributes 111B
.gitignore 179B
共 584 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
软希源码
- 粉丝: 4207
- 资源: 3577
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功