Comment rediriger après la connexion avec la condition dans laravel 5.4, Comme
if(Auth::user()->id==1)
{return redirect('admin');}
else
return redirect('/');
Comment implémenter la condition.
Ajouter le code suivant dans 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;
protected function authenticated(Request $request, $user)
{
if ( $user->isAdmin() ) {// do your margic here
return redirect()->route('dashboard');
}
return redirect('/home');
}
/**
* 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']);
}
}
@ Al-Amin pour rediriger après la connexion avec succès en fonction de l'ID de rôle, vous pouvez remplacer la fonction authentifiée (Request $ request, $ user) dans votre contrôleur d'authentification ou votre contrôleur de connexion si vous avez l'une des méthodes suivantes:
/**
* [authenticated is used to redirect user after login based on role]
* @param Request $request [request object]
* @param [type] $user [user object to check user role]
* @return [type] [return type]
*/
protected function authenticated(Request $request, $user)
{
if($user->role->id == 1) {
return redirect()->intended('/admin'); // it will be according to your routes.
} else {
return redirect()->intended('/'); // it also be according to your need and routes
}
}
C'est la méthode que vous devriez changer dans RedirectIfAuthenticated.php
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/dashboard'); // Change this line
}
return $next($request);
}