laravel - 每个客户的 laravel 8 个多子域
问题描述
我需要让每个客户都成为特殊的子域
例子 :
company1.site.com
company2.site.com
尝试代码,但它可以在 localhost 上正常工作,但不能在共享主机上工作
class CheckTenantUser
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$has_access = $request->session()->get('has_access');
if ($has_access) {
return $next($request);
}
list($subdomain) = explode('.', $request->getHost(), 2);
$tenant = Client::where('slug', $subdomain)->where('status',1)->firstOrFail();
$request->session()->put('currentClient', $tenant);
if ($request->user() == null) {
return $next($request);
}
$has_access = $request->user()->tenant == $tenant;
if (!$tenant) {
return redirect('/login')->with('no_access', true);
} else {
$request->session()->put('has_access', true);
}
return $next($request);
}
}
现在从数据库中检查客户端,但通过 slug 设置子域
我需要如何让它在像 localhost 这样的共享主机上工作
解决方案
您可以查看可用的第 3 方包 - https://tenancyforlaravel.com/
推荐阅读
- angular - Jhipster 架构应用
- java - 读取所有响应标头并存储在字符串中并在放心的 java 中打印它们
- linux - QEMU 在引导时挂起
- html - 在 span 数据内容属性中插入换行符
- reactjs - 执行forEach循环后如何将数组作为输出返回?
- javascript - Angular FormArray 导致另一种形式的 Formcontrol 丢失
- css - 使可滚动的 div 自动调整高度到引导卡行 col 中的父 div
- python - 使用 tikzplotlib 保存箭袋图
- android - BLE 错误:D/BluetoothLeScanner:扫描失败,原因:应用注册失败
- dom - 可能是 DOM 树更新的奇怪行为(客户端 blazor、razor、C# .net ASP.net 托管)