【问题标题】:Auth::guard('admin')->user() is NULL in laravel 5.8Auth::guard('admin')->user() 在 laravel 5.8 中为 NULL
【发布时间】:2020-03-20 23:15:25
【问题描述】:

我正在尝试返回已登录的用户,但结果为空 当我在登录控制器中使用 dd(Auth::guard('admin')->user() 时它可以工作,但是当我尝试在 NiveauController 中使用它时它返回 null。

登录控制器:

public function VerifierLogin(Request $request)
{

    $this->validate($request, [
        'email'   => 'required|email',
        'password' => 'required|min:6'
    ]);

    if (Auth::guard('enseignant')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
        Auth::guard('enseignant')->user();

        return redirect()->intended(route('EnseignantDashboard'));
    }
    if (Auth::guard('superadmin')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
        Auth::guard('superadmin')->user();

        return redirect()->intended('/superadmin');

    }
    if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
        Auth::guard('admin')->user();

        return redirect()->intended('/admin');
    }

    return back()->withInput($request->only('email', 'remember'))->with('error');
     }

尼维奥控制器:

 public function showListNiveaux()
{


    $admin=Auth::guard('admin')->user();

    dd( $admin);

   $niveaux = DB::table('niveaux')->where('id_etablissement',$admin->id_etablissement);

    return view('Niveau:index',compact($niveaux));
}

【问题讨论】:

  • 您是否只为admin 警卫或所有警卫收到此错误?还要确保您使用的是auth 中间件。
  • 所有警卫都收到此错误

标签: laravel-5


【解决方案1】:

如果您忘记将 auth 中间件放在您的路由/控制器上,通常会发生这种情况

试着把它放在你的控制器中

    public function __construct()
    {
        $this->middleware('auth');
        //OR
        // $this->middleware('web');
    }

看看这是否能解决您的问题。

【讨论】:

    猜你喜欢
    • 2019-09-20
    • 2017-03-29
    • 2020-04-22
    • 1970-01-01
    • 2023-02-04
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多