FEATURE: redirect to last page when session has expired

This commit is contained in:
Michal Kváček
2016-08-25 01:03:35 +02:00
parent f1121107c5
commit 8458622e32
3 changed files with 8 additions and 5 deletions
+3 -4
View File
@@ -3,13 +3,10 @@
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Requests\LoginRequest; use App\Http\Requests\LoginRequest;
use App\Models\User; use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session;
/** /**
* Class Login * Class Login
@@ -45,7 +42,9 @@ class Login extends Controller
if (Hash::check($request->password, $user->password)) { if (Hash::check($request->password, $user->password)) {
Auth::login($user); Auth::login($user);
return redirect()->intended(route('admin.dashboard')); $redirect = $request->redirectTo ? $request->redirectTo : route('admin.dashboard');
return redirect()->intended($redirect);
} }
// login invalid, redirect and inform the user // login invalid, redirect and inform the user
+3 -1
View File
@@ -23,7 +23,9 @@ class Authenticate
return response('Unauthorized.', 401); return response('Unauthorized.', 401);
} }
return redirect()->route('login'); return redirect()
->route('login')
->with('redirectTo', $request->fullUrl());
} }
return $next($request); return $next($request);
@@ -21,6 +21,8 @@
<div class="auth-content"> <div class="auth-content">
<p class="text-xs-center">@lang('admin/loginForm.loginToContinue')</p> <p class="text-xs-center">@lang('admin/loginForm.loginToContinue')</p>
<form method="POST" action="{{ route('login') }}"> <form method="POST" action="{{ route('login') }}">
<input type="hidden" name="redirectTo" value="{{session('redirectTo')}}">
{!! csrf_field() !!} {!! csrf_field() !!}
<div class="form-group"> <div class="form-group">
<label for="email">@lang('admin/loginForm.email')</label> <label for="email">@lang('admin/loginForm.email')</label>