i am using laravel 5.1.8. i am making a login/registration system. i made a controller named AdminController and protect it with middleware.
but i am using laravel\'
go to
App\Http\Middleware\RedirectIfAuthenticated
then change it from
public function handle($request, Closure $next)
{
if ($this->auth->check()) {
return redirect('/home');
}
return $next($request);
}
to
public function handle($request, Closure $next)
{
if ($this->auth->check()) {
return redirect('/admin');
}
return $next($request);
}
when a user is successfully authenticated, they will be redirected to the /home URI, which you will need to register a route to handle. You can customize the post-authentication redirect location by defining a redirectPath property on the AuthController:
protected $redirectPath = '/dashboard';
Include \App\Http\Middleware\RedirectIfAuthenticated::class
middleware in $middlewareGroups "web" array after \Illuminate\Session\Middleware\StartSession::class
middleware
then modify your redirect path in handle()
method of RedirectIfAuthenticated
public function handle($request, Closure $next, $guard = null)
{
//check if authenticate && second is condition when we need to redirect i.e,
if(Auth::guard($guard)->check() && $request->route()->named('login') ) {
return redirect()->route('dashboard');
}
return $next($request);
}
You can check using auth function.
public function checkLogin()
{
if (auth()->user())
{
return redirect(route('home'));
}
else
{
return redirect(route('login'));
}
}
Add this to your AuthController
:
protected $redirectTo = '/admin';
This tells all the redirect methods in the various traits to redirect there instead of to /home
.