Home Ask Login Register

Developers Planet

Your answer is one click away!

Andy Holmes February 2016

Laravel 5.1 - When registering user App redirects to /dashboard but doesn't check if account is confirmed

When my users register in my app it automatically redirects them to /dashboard which is technically fine, but it isn't checking to see if the confirmed column in the database has a value of 1 or 0, it's just logging in based on the username and password.

I will happily include code but right now I don't actually know what code you guys need to see.

I need it to check the confirmed column and if it's a 0, not to log them in and throw and error.

thanks for any info,



Oliver Queen February 2016

I achieve this by utilizing middleware:

My routes.php:

Route::get('home', ['middleware' => 'auth', function ()    {

    return "This is just an example";


My Kernel.php:

protected $routeMiddleware = [

        'auth' => \App\Http\Middleware\Authenticate::class,


My Authenticate.php middleware:


namespace App\Http\Middleware;

use Closure;
use Illuminate\Contracts\Auth\Guard;

class Authenticate
     * The Guard implementation.
     * @var Guard
    protected $auth;

     * Create a new filter instance.
     * @param  Guard  $auth
     * @return void
    public function __construct(Guard $auth)
        $this->auth = $auth;

     * Handle an incoming request.
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
    public function handle($request, Closure $next)
        if ($this->auth->guest()) {
            if ($request->ajax()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest('auth/login');

        $user = $this->auth->user();
        if (!$user->confirmed) {
            return redirect()->guest('auth/login')->with('error', 'Please confirm your e-mail address to continue.');

        if (!$user->type) {
            return redirect()->guest('auth/login')->with('error', 'A user configuration error has occurred. Please contact an administrator for assistance.');

        return $next($request);

I tried to cut this down as much as possible for you.

Post Status

Asked in February 2016
Viewed 1,200 times
Voted 6
Answered 1 times


Leave an answer

Quote of the day: live life