首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel 7 guard无法登录

Laravel 7 guard无法登录
EN

Stack Overflow用户
提问于 2020-04-22 12:48:00
回答 1查看 42关注 0票数 0

我有一个关于laravel 7自定义守卫身份验证的问题。

代码语言:javascript
运行
复制
    $this->guard()->attempt(
        $this->credentials($request), $request->filled('remember')
    );

这行代码使用默认的保护'web',它工作得很好。

代码语言:javascript
运行
复制
    $this->guard('agent')->attempt(
        $this->credentials($request), $request->filled('remember')
    );

这行代码使用了自定义的保护‘代理’,它已经被正确配置,因为它确实返回了'1‘为真,我也可以通过使用guard('agent')->user()来获取用户信息。但是,它不会将用户登录到应用程序。它循环回到登录页面。任何帮助都将不胜感激。

防护代码:

代码语言:javascript
运行
复制
'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
        'hash' => false,
    ],
    'agent' => [
        'driver' => 'session',
        'provider' => 'agents',
    ],
],

提供商代码:

代码语言:javascript
运行
复制
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    'agents' => [
        'driver' => 'eloquent',
        'model' => App\Agent::class,
    ],
],
EN

回答 1

Stack Overflow用户

发布于 2020-04-22 13:55:13

不使用$this->guard()->attempt(

将其替换为

代码语言:javascript
运行
复制
auth()->attempt([$this->credentials($request), $request->filled('remember')])  

如果你想使用默认的保护,或者如果你想使用特定的保护,只需要这样做。我们将使用您现有的可以使用的守卫。

代码语言:javascript
运行
复制
auth('agent')->attempt([$this->credentials($request), $request->filled('remember')]) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61357494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档