目标 Class [Auth\LoginController] 在租户 Stancl/tenancy 中的用户身份验证中不存在

Target Class [Auth\LoginController] Not Exist In User Authentication In Tenant Stancl/tenancy

我在 laravel 中使用 Stancl/Tenancy 包用于多租户系统。

我可以从中央应用程序登录,但不能从本地主机中的租户应用程序登录。 我在本地主机中创建了一个名为 sms.com 的虚拟中央域和一个名为 tenant1.sms.com[=16= 的子域]

当我打开中央域时,会出现登录页面,我可以成功登录,但是当我打开 tenant1.sms.com 的租户应用程序时,我出现以下错误:

目标 class [Auth\LoginController] 不存在。

我已经阅读并实现了这个 link 中的代码:https://tenancyforlaravel.com/docs/v3

Link 用于以下代码中的通用路由: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');
        });
    });
});

当我不使用Authentication时,正在显示上面的字符串

这是您的多租户应用程序。当前租户的id为tenant1

我是否遗漏了租户中的身份验证信息?

我找到了解决方案。只是想分享以防其他人在未来寻找或陷入类似情况。

在下面的代码中添加命名空间 namespace('App\Http\Controllers\') 将解决此问题。

Route::middleware(['universal'])->namespace('App\Http\Controllers\')->group(function () { Auth::routes(); });