Auth :: guard ('admin') -> user () имеет значение NULL в laravel 5.8 - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь вернуть пользователя, вошедшего в систему, но я получаю нулевое значение, когда я dd (Auth :: guard ('admin') -> user () в контроллере входа, это работает, но когда я пытаюсь использовать его в NiveauController он возвращает ноль.

LoginController:

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');
     }

NiveauController:

 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));
}

1 Ответ

0 голосов
/ 21 марта 2020

Обычно это происходит, если вы забыли установить промежуточное ПО auth на свой маршрут / контроллер

Попробуйте установить это в свой контроллер

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

и посмотрите, решит ли это вашу проблему.

...