【问题标题】:Laravel 8 Authentication doesn't work after upgrade form 7升级表格 7 后 Laravel 8 身份验证不起作用
【发布时间】:2021-07-20 09:45:13
【问题描述】:

正如标题所说,它只是突然停止工作。我有一个自定义警卫: config.auth.php

 'guards' => [
        'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
  .....
 'providers' => [    
        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Admin::class,
        ],

用户(或者我应该说管理员?)通过登录控制器进行身份验证:

if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password, ])) {
            return redirect()->intended('/check'); 

    

但是'check'路由返回null

Route::get('/check', function () {
    $user = auth()->user();
    dd($user);
});

.env会话部分:

SESSION_DRIVER=file
SESSION_LIFETIME=1200

没有任何错误被注销,没有任何线索是什么问题。这个应用程序还有用于 API 登录的 laravel Passport,效果很好

【问题讨论】:

    标签: laravel authentication laravel-8 php-7.4


    【解决方案1】:

    试试这个,用这个替换提供者:

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

    【讨论】:

    • 我已经降级到 larael 7 并且问题仍然存在。将 SESSION_DRIVER= 更改为 redis 有帮助
    • 试试这个 $user = auth()->guard('admin')->user();不是 laravel 8 的工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 2013-04-17
    • 2016-04-05
    相关资源
    最近更新 更多