我正在使用用于多租户系统的laravel中的Stancl/Tenancy包。
我可以从中央应用程序登录,但不能从本地主机中的租户应用程序登录。我在localhost中创建了一个名为的虚拟中心域sms.com和一个名为的子域tenant1.sms.com
当我打开中心域时,登录页面会出现,并且我可以成功登录,但当我打开租户应用程序时,tenant1.sms.com我得到以下错误:
目标类Auth\LoginController不存在。
我已经阅读并实现了这个链接中的代码:https://tenancyforlaravel.com/docs/v3
以下代码中的通用路由链接:https://tenancyforlaravel.com/docs/v3/features/universal-routes
以下是我的租户路由代码:
Route::group(['middleware'=>['web',InitializeTenancyByDomain::class,PreventAccessFromCentralDomains::class]
],function () {
Route::middleware(['universal'])->group(function () {
Auth::routes();
});
Route::middleware(['auth'])->group(function () {
Route::get('/', function () {
return 'This is your multi-tenant application. The id of the current tenant is ' . tenant('id');
});
});
});
当我不使用身份验证时,上面的字符串正在显示
这是您的多租户应用程序。当前租户的id为tenant1
我是否在租户身份验证中遗漏了什么?
发布于 2021-02-25 15:40:12
我已经找到解决方案了。只是想分享一下,以防其他人在未来寻找或陷入类似的情况。
添加命名空间namespace('App\\Http\\Controllers\\')
下面的代码可以解决这个问题。
Route::middleware(['universal'])->namespace('App\\Http\\Controllers\\')->group(function () { Auth::routes(); });
https://stackoverflow.com/questions/66279630
复制相似问题