Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Conditional redirect in laravel after login

How to redirect after login with condition in laravel 5.4, As Like:

   if (Auth::user()->id==1) {
       return redirect('admin');
   }
   else { 
       return redirect('/');
   }

How to implement the condition.

like image 270
Al-Amin Avatar asked Mar 21 '17 03:03

Al-Amin


1 Answers

Add following code in LoginController

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;

use Illuminate\Foundation\Auth\AuthenticatesUsers;

use Illuminate\Http\Request;

class LoginController extends Controller
{
  /*
  |--------------------------------------------------------------------------
  | Login Controller
  |--------------------------------------------------------------------------
  |
  | This controller handles authenticating users for the application and
  | redirecting them to your home screen. The controller uses a trait
  | to conveniently provide its functionality to your applications.
  |
  */

  use AuthenticatesUsers;

   /**
    * Where to redirect users after login.
    *
    * @var string
    */
   //protected $redirectTo = '/admin';

   /**
    * Create a new controller instance.
    *
    * @return void
    */
    public function __construct()
    {
        $this->middleware('guest', ['except' => 'logout']);
    }

    protected function authenticated(Request $request, $user)
    {
        if ( $user->isAdmin() ) {// do your magic here
            return redirect()->route('dashboard');
        }

        return redirect('/home');
    }
}
like image 87
Hiren Makwana Avatar answered Sep 19 '22 13:09

Hiren Makwana