【发布时间】:2019-09-05 15:03:41
【问题描述】:
我有一个带有登录表单的 Laravel 应用程序。我正在使用子域,例如:{{business_subdomain}}.laravel.test。我的应用程序的目的是在我的数据库中创建公司,并让注册用户登录他们附属的公司和特定域。
所以在我的 web.php 中我声明了以下内容:
Route::domain('{business_subdomain}.' . env('APP_URL'))->middleware(['business.subdomain'])->group(function ()
我的数据库包含以下表格:
* 像用户这样的标准表
* 包含 id、name 和 subdomain 的企业
* Business_user 包含 business_id 和 user_id
business_id(business_user表)与id(business表)有关系
user_id(business_user表)和id(users表)有关系
我创建了一个检查以下内容的中间件:
$business = $request->user()->businesses->where('subdomain', $request->route('business_subdomain'))->first();
所以子域值(业务表)必须等于URL/路由子域值,否则登录时会出现403页面。
所以我想要实现的是:当用户拥有一个帐户,但没有附加到正确公司/企业时,我想显示标准身份验证错误: 这些凭据与我们的记录不符。
我尝试在 LoginController 上的中间件中使用代码并分别覆盖几乎每个函数,但没有成功。
我是否需要重写 Laravel 身份验证功能,是否需要创建另一个中间件或使用 Guards?
laravel 身份验证登录顺序(应用程序用于登录用户的顺序)对我来说似乎很混乱。
也许有人可以向我提供更多信息或帮助我!
我尝试在 LoginController 上的中间件中使用代码并分别覆盖几乎每个函数,但它不起作用。
【问题讨论】:
标签: laravel