php - 多个客户的一个登录页面
问题描述
我构建了一个 laravel 系统并试图弄清楚多个客户端如何使用单个 URL 登录,例如 www.example.com/login
由于每个用户都必须有一个唯一的网址,如下所示:
www.example.com/biz1/admin/login
www.example.com/biz2/admin/login
据我所知,代码是从 url 获取 biz 名称并将其添加到表单中,请参见下面的表单:
<form action="{{ route('business.admin.authenticate', ['bzname' => $bzname]) }}" method="post" >
{{ csrf_field() }}
<div class="form-group">
<label style="color: #fff" class="label">Email</label>
<div class="input-group">
<input style="color: #fff" type="text" class="form-control" placeholder="Email" name="email">
<div class="input-group-append">
<span class="input-group-text">
<i class="mdi mdi-check-circle-outline"></i>
</span>
</div>
</div>
</div>
<div class="form-group">
<label style="color: #fff" class="label">Password</label>
<div class="input-group">
<input style="color: #fff" type="password" class="form-control" placeholder="*********" name="password">
<div class="input-group-append">
<span class="input-group-text">
<i class="mdi mdi-check-circle-outline"></i>
</span>
</div>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary submit-btn btn-block">Login</button>
</div>
</form>
然后,此表单将传递到控制器中的函数,如下所示:
public function authenticate(Request $request, $bzname)
{
$business = Business::where('business_name', $bzname)->first();
$business_admin = BusinessAdmin::where('business_id', $business->id)->first();
if(isset($business_admin))
{
$user = User::findOrFail($business_admin->user_id);
if($user->email === $request->input('email'))
{
if (Auth::guard('business')->attempt(['email'=>$request->input('email'), 'password'=>$request->input('password')]))
{
$permissions = [];
session(['permissions' => $permissions]);
return redirect()->route('business.admin.dashboard', ['bzname' => $bzname]);
}
else
{
return redirect()->route('business.admin.login', ['bzname' => $bzname])->with('errorLogin', 'Ooops! Invalid Email or Password')->withInput();
}
}
else
{
return redirect()->route('business.admin.login', ['bzname' => $bzname])->with('errorLogin', 'Ooops! Pls Enter Correct Business')->withInput();
}
}
}
我在想以某种方式在 $business 参数中我需要从链接到客户端的电子邮件中获取 bzname,而不是从 URL 中获取它。
目前我的知识非常基础,任何建议都值得赞赏。
谢谢
解决方案
推荐阅读
- python - How to check the folder for file and then read the file in python
- azure - 在新数据流中将现有数据集与 Azure 数据工厂一起使用
- python - How to capture table in a structured format from the website using Beautiful soup and Pandas or any other method?
- c# - 如何调试 System.Text.Json 反序列化器
- python - PySimpleGUI Python3 中的图像
- python-3.x - cartopy rotate winds incorrectly?
- django - django - How can I prefill formset forms data using database query result?
- php - Add product weight and dimensions as order item meta data on WooCommerce admin manual orders
- java - ChronicleMap is accessing OS folders & files
- r - Convert string to HEX in R