I'm working with my first real Laravel application and I'm having trouble getting the Auth facade to work the way I expect.
In my routes.php file, I am attempting to use Auth::check() to determine if the user hitting the route '/'is currently authenticated (to change which view the user sees), but it is not returning any value.
Route::get('/', function() {
if (Auth::check()) {
return view('home');
} else {
return view('welcome');
})
I suspect this is because the authentication (Auth facade, auth()) is only usable in closures utilizing the auth middleware, but examples I have seen online don't seem to have that problem. I also wonder if it's because the routes.php file doesn't identify any namespace or use imports, but, again, examples I've seen don't use anything either.
Log::debug(Auth::check()); // returns nothing
Log::debug(auth()->user()); // returns nothing
I ended up just modifying the authentication controller to check the path of the incoming request, and if it was '/', then redirect based on the user's authentication status there (because there I could actually access Auth functionality), but I want to know what I'm missing. Can the routes.php file access Auth information without hiding the entire route behind the auth middleware?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire