Sta*_*ows 7 authentication laravel eloquent laravel-5
我正在尝试使用额外的模型和防护来验证我的 Laravel 应用程序 (5.8)。问题,我在以下登录方法中收到“未定义索引:模型”错误。任何想法我做错了什么?我在 5.7 版本的 Laravel 中使用了这种集成,它在那里工作没有任何问题。
auth()->guard('partner')->login($partner);
Run Code Online (Sandbox Code Playgroud)
代码片段:
合作伙伴模型(附加设置)
class Partner extends Authenticatable {
protected $guard = 'partner';
public function getRouteKeyName()
{
return 'uuid';
}
}
Run Code Online (Sandbox Code Playgroud)
守卫(config.auth.php)
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'partner' => [
'driver' => 'session',
'provider' => 'partners',
],
],
Run Code Online (Sandbox Code Playgroud)
提供者(config.auth.php)
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
'partners' => [
'driver' => 'eloquent',
'table' => \App\Models\Partner::class,
],
],
Run Code Online (Sandbox Code Playgroud)
中间件组(kernel.php)
protected $middlewareGroups = [
'partner' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
//\Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
];
Run Code Online (Sandbox Code Playgroud)
路由服务提供者
protected function mapPartnerRoutes()
{
Route::prefix('partner')
->middleware(['partner'])
->namespace($this->namespace)
->group(base_path('routes/partner.php'));
}
Run Code Online (Sandbox Code Playgroud)
应用程序帧错误
dpa*_*oli 14
我认为您错过了在您的partners身份验证提供程序中配置模型,即:
'partners' => [
'driver' => 'eloquent',
//'table' => \App\Models\Partner::class,
'model' => \App\Models\Partner::class,
],
Run Code Online (Sandbox Code Playgroud)