我有一个关于laravel 7自定义守卫身份验证的问题。
$this->guard()->attempt(
$this->credentials($request), $request->filled('remember')
);这行代码使用默认的保护'web',它工作得很好。
$this->guard('agent')->attempt(
$this->credentials($request), $request->filled('remember')
);这行代码使用了自定义的保护‘代理’,它已经被正确配置,因为它确实返回了'1‘为真,我也可以通过使用guard('agent')->user()来获取用户信息。但是,它不会将用户登录到应用程序。它循环回到登录页面。任何帮助都将不胜感激。
防护代码:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
'agent' => [
'driver' => 'session',
'provider' => 'agents',
],
],提供商代码:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'agents' => [
'driver' => 'eloquent',
'model' => App\Agent::class,
],
],发布于 2020-04-22 13:55:13
不使用$this->guard()->attempt(
将其替换为
auth()->attempt([$this->credentials($request), $request->filled('remember')]) 如果你想使用默认的保护,或者如果你想使用特定的保护,只需要这样做。我们将使用您现有的可以使用的守卫。
auth('agent')->attempt([$this->credentials($request), $request->filled('remember')]) https://stackoverflow.com/questions/61357494
复制相似问题