FIX: fix login

Login should work again. Problem was in non-setting sessions. This was resolved by adding middleware "web" to admin group. Thanks to great documentation for NOT MENTIONING this pitfall!
This commit is contained in:
Michal Kváček
2016-01-24 15:08:59 +01:00
parent 2ade14beba
commit 8a91a95a67
11 changed files with 40 additions and 80 deletions
+2 -1
View File
@@ -4,10 +4,11 @@ namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Requests;
use Illuminate\Support\Facades\Session;
class Dashboard extends Controller
{
public function getIndex() {
public function getIndex(Request $request) {
return view('admin.dashboard');
}
}
+5 -22
View File
@@ -6,8 +6,10 @@ use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Requests\LoginRequest;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session;
/**
* Class Login
@@ -18,22 +20,6 @@ use Illuminate\Support\Facades\Hash;
*/
class Login extends Controller
{
/**
* Display login form
*
* This method displays login form, or in case that user is logged in, redirects him to admin dashboard panel.
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\View\View
*/
public function getLoginForm()
{
if (Auth::check()) {
return redirect()->route('admin.dashboard');
}
return view('admin.loginForm.form');
}
/**
* Login handler
*
@@ -59,13 +45,9 @@ class Login extends Controller
if (Hash::check($request->password, $user->password)) {
Auth::login($user);
return redirect()->route('admin.dashboard');
return redirect()->intended(route('admin.dashboard'));
}
// if (Auth::attempt($request->only('email', 'password'))) {
// return redirect()->route('admin.dashboard');
// }
// login invalid, redirect and inform the user
return $this->loginFailed();
}
@@ -74,6 +56,7 @@ class Login extends Controller
{
return redirect()
->route('login')
->with('error', trans('auth.failed'));
->with('error', trans('auth.failed'))
->withInput();
}
}
+1 -1
View File
@@ -45,7 +45,7 @@ class Kernel extends HttpKernel
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
// 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
+6 -5
View File
@@ -10,19 +10,20 @@ class Authenticate
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
*
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (!Auth::check($guard)) {
if (!Auth::guard($guard)->check()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
}
return redirect()->guest('login');
return redirect()->route('login');
}
return $next($request);
@@ -18,7 +18,7 @@ class RedirectIfAuthenticated
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/');
return redirect()->route('admin.dashboard');
}
return $next($request);
-10
View File
@@ -4,16 +4,6 @@ namespace App\Http\Requests;
class LoginRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
+7 -3
View File
@@ -3,14 +3,18 @@
/**
* This routing groups is used for routing along public part of website
*/
use Illuminate\Http\Request;
Route::group(['middleware' => ['web']], function () {
// display login form
Route::get('login', 'Admin\Login@getLoginForm')
Route::get('login', function () {
return view('admin.loginForm.form');
})
->name('loginForm');
// handle login
Route::post('admin/login', 'Admin\Login@postLogin')
Route::post('login', 'Admin\Login@postLogin')
->name('login');
});
@@ -20,7 +24,7 @@ Route::group(['middleware' => ['web']], function () {
* This route group serves to handle request in admin
*/
Route::group([
'middleware' => ['auth'],
'middleware' => ['web', 'auth'],
'namespace' => 'Admin',
'prefix' => 'admin'
], function () {