J'ai créé un test multi authentification dans Laravel 5.4. Il utilise des middlewares personnalisés, des fournisseurs Eloquent personnalisés, etc. Le flux d'authentification fonctionne, je peux me connecter des deux manières. Mais si l'utilisateur est connecté, dans le contrôleur d'accueil, quand je veux vérifier l'utilisateur avec Auth::user()
o Auth::guard()->user()
c'est vide. Le site Auth::guard()
est également vide. Mais je ne comprends pas, pourquoi ? Il devrait contenir l'instance de l'utilisateur signé, n'est-ce pas ?
De même, le $request->getUserResolver()
dit que la garde est nulle... o.O
Qu'est-ce que j'ai fait de mal ?
C'est ici mon repo de test, si vous voulez vérifier mon code.
Merci d'avance !
Edit 1 :
Dans le \app\Http\Controllers\Employee\HomeController.php
le site Auth::guard()->user()
et le Auth::user()
sont vides.
namespace App\Http\Controllers\Employee;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class HomeController extends Controller
{
public function __construct(Request $request)
{
$this->middleware('auth.employee:employee');
}
public function index(Request $request)
{
$users[] = Auth::user();
$users[] = Auth::guard()->user();
$users[] = Auth::guard('employee')->user();
dd($users);
return view('employees.home.index');
}
}