laravel

Determining if the Current User is Authenticated

Determining if the Current User is Authenticated

Problem

You want to see if a user is logged in.

You know Laravel automatically keeps the authenticated user in the session. You want to check if the current request has a user logged in and authenticated.

Solution

Use Auth::check().

The Auth::check() method returns true or false.

if (Auth::check())

echo "Yay! You're logged in.";

Discussion

Several things happen behind the scenes when you do this.

First Laravel checks if the current session has the id of a user. If so, then an attempt is made to retrieve the user from the database.

If that fails, then Laravel checks for the “remember me” cookie. If that's present then once again an attempt is made to retrieve the user from the database.

Only if a valid user is retrieved from the database is true returned.

The 'guest' filter uses this method
Laravel provides a default implementation of the guest filter in app/filters.php.

Route::filter('guest', function()

if (Auth::check()) return Redirect::to('/');
);

This default implementation is used when you want to add a filter to a route that is only accessible by guests (aka users who are not logged in). If a user is logged in then they are redirected to the home page.

SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...