Laravel Auth::user() 使用守卫登录后返回 null ('admin' )

标签 laravel authentication

我已将守卫设置为管理员,例如 return Auth::guard('admin')。它可以从表“admins”获取数据,但尝试 Auth::user() 返回 null

LoginController
===============
public function backendLogin(Request $request)

{   

    $this->validateLogin($request);

    if ($this->hasTooManyLoginAttempts($request)) {
        $this->fireLockoutEvent($request);

        return $this->sendLockoutResponse($request);
    }


    if ($this->attemptLogin($request)) {

        return $this->sendLoginResponse($request);
    }


    $this->incrementLoginAttempts($request);

    return $this->sendFailedLoginResponse($request);
}
protected function guard()
{
    return Auth::guard('admin');
}

config/auth.php
===============
'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'admin' => [
        'driver' => 'session',
        'provider' => 'admins',
    ],

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

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],
    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Admin::class,
    ],
],

我尝试过很多类型

auth()->guard('admin')->attempt($credentials);
Auth::guard('admin')->attempt($credentials);

但仍然无法登录。

最佳答案

要登录,您应该使用

auth('admin')->attempt($credentials))

登录后,您可以为admin守卫获取经过身份验证的用户信息

Auth::guard('admin')->user()

关于Laravel Auth::user() 使用守卫登录后返回 null ('admin' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58195835/

相关文章:

laravel - 如何在 FilePond 中加载默认图像

asp.net - ASP.NET MVC 中的简单、硬编码授权,无需复杂的提供程序和数据库

asp.net - 哪个用户运行我的 asp.net 用户?

php - CakePHP 1.3 如何有 2 个不同的登录页面和 2 个表

php - Laravel 新线程出现在碰撞线程之前

javascript - 在 vue.js 模板中访问 php 数组

php - 如何访问嵌套数组值

php - 拉拉维尔。加入后保持 Eloquent 关系

php - 注册后登录 Moodle

ios - 如何使用 AWS SDK v2.4.7 通过外部提供商(例如 Google)对最终用户进行身份验证?