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:
@@ -4,10 +4,11 @@ namespace App\Http\Controllers\Admin;
|
|||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Http\Requests;
|
use App\Http\Requests;
|
||||||
|
use Illuminate\Support\Facades\Session;
|
||||||
|
|
||||||
class Dashboard extends Controller
|
class Dashboard extends Controller
|
||||||
{
|
{
|
||||||
public function getIndex() {
|
public function getIndex(Request $request) {
|
||||||
return view('admin.dashboard');
|
return view('admin.dashboard');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ use App\Http\Controllers\Controller;
|
|||||||
use App\Http\Requests;
|
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
|
||||||
@@ -18,22 +20,6 @@ use Illuminate\Support\Facades\Hash;
|
|||||||
*/
|
*/
|
||||||
class Login extends Controller
|
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
|
* Login handler
|
||||||
*
|
*
|
||||||
@@ -59,13 +45,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()->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
|
// login invalid, redirect and inform the user
|
||||||
return $this->loginFailed();
|
return $this->loginFailed();
|
||||||
}
|
}
|
||||||
@@ -74,6 +56,7 @@ class Login extends Controller
|
|||||||
{
|
{
|
||||||
return redirect()
|
return redirect()
|
||||||
->route('login')
|
->route('login')
|
||||||
->with('error', trans('auth.failed'));
|
->with('error', trans('auth.failed'))
|
||||||
|
->withInput();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -45,7 +45,7 @@ class Kernel extends HttpKernel
|
|||||||
*/
|
*/
|
||||||
protected $routeMiddleware = [
|
protected $routeMiddleware = [
|
||||||
'auth' => \App\Http\Middleware\Authenticate::class,
|
'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,
|
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
||||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -10,19 +10,20 @@ class Authenticate
|
|||||||
/**
|
/**
|
||||||
* Handle an incoming request.
|
* Handle an incoming request.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure $next
|
* @param \Closure $next
|
||||||
* @param string|null $guard
|
* @param string|null $guard
|
||||||
|
*
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next, $guard = null)
|
public function handle($request, Closure $next, $guard = null)
|
||||||
{
|
{
|
||||||
if (!Auth::check($guard)) {
|
if (!Auth::guard($guard)->check()) {
|
||||||
if ($request->ajax()) {
|
if ($request->ajax()) {
|
||||||
return response('Unauthorized.', 401);
|
return response('Unauthorized.', 401);
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->guest('login');
|
return redirect()->route('login');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $next($request);
|
return $next($request);
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class RedirectIfAuthenticated
|
|||||||
public function handle($request, Closure $next, $guard = null)
|
public function handle($request, Closure $next, $guard = null)
|
||||||
{
|
{
|
||||||
if (Auth::guard($guard)->check()) {
|
if (Auth::guard($guard)->check()) {
|
||||||
return redirect('/');
|
return redirect()->route('admin.dashboard');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $next($request);
|
return $next($request);
|
||||||
|
|||||||
@@ -4,16 +4,6 @@ namespace App\Http\Requests;
|
|||||||
|
|
||||||
class LoginRequest extends Request
|
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.
|
* Get the validation rules that apply to the request.
|
||||||
*
|
*
|
||||||
|
|||||||
+7
-3
@@ -3,14 +3,18 @@
|
|||||||
/**
|
/**
|
||||||
* This routing groups is used for routing along public part of website
|
* This routing groups is used for routing along public part of website
|
||||||
*/
|
*/
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
Route::group(['middleware' => ['web']], function () {
|
Route::group(['middleware' => ['web']], function () {
|
||||||
|
|
||||||
// display login form
|
// display login form
|
||||||
Route::get('login', 'Admin\Login@getLoginForm')
|
Route::get('login', function () {
|
||||||
|
return view('admin.loginForm.form');
|
||||||
|
})
|
||||||
->name('loginForm');
|
->name('loginForm');
|
||||||
|
|
||||||
// handle login
|
// handle login
|
||||||
Route::post('admin/login', 'Admin\Login@postLogin')
|
Route::post('login', 'Admin\Login@postLogin')
|
||||||
->name('login');
|
->name('login');
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -20,7 +24,7 @@ Route::group(['middleware' => ['web']], function () {
|
|||||||
* This route group serves to handle request in admin
|
* This route group serves to handle request in admin
|
||||||
*/
|
*/
|
||||||
Route::group([
|
Route::group([
|
||||||
'middleware' => ['auth'],
|
'middleware' => ['web', 'auth'],
|
||||||
'namespace' => 'Admin',
|
'namespace' => 'Admin',
|
||||||
'prefix' => 'admin'
|
'prefix' => 'admin'
|
||||||
], function () {
|
], function () {
|
||||||
|
|||||||
+2
-18
@@ -13,7 +13,7 @@ use Illuminate\Foundation\Auth\Access\Authorizable;
|
|||||||
*/
|
*/
|
||||||
class User extends Model implements AuthenticableInterface
|
class User extends Model implements AuthenticableInterface
|
||||||
{
|
{
|
||||||
use Authenticatable, Authorizable, CanResetPassword;
|
use Authenticatable, Authorizable;
|
||||||
|
|
||||||
public $timestamps = false;
|
public $timestamps = false;
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
@@ -39,20 +39,4 @@ class User extends Model implements AuthenticableInterface
|
|||||||
const ROLE_VISITOR = 'visitor';
|
const ROLE_VISITOR = 'visitor';
|
||||||
const ROLE_EDITOR = 'editor';
|
const ROLE_EDITOR = 'editor';
|
||||||
const ROLE_ADMIN = 'admin';
|
const ROLE_ADMIN = 'admin';
|
||||||
|
}
|
||||||
/**
|
|
||||||
* Validation method for input data
|
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
*
|
|
||||||
* @throws ValidationException
|
|
||||||
*/
|
|
||||||
public static function validate(array $data)
|
|
||||||
{
|
|
||||||
$valid = true;
|
|
||||||
|
|
||||||
if (!$valid) {
|
|
||||||
throw new ValidationException(Validator::class, 'Invalid request');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
+3
-4
@@ -1,9 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "laravel/laravel",
|
"name": "binarity/minicms",
|
||||||
"description": "The Laravel Framework.",
|
"description": "Content management system.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"framework",
|
"cms"
|
||||||
"laravel"
|
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "project",
|
"type": "project",
|
||||||
|
|||||||
Generated
+12
-12
@@ -4,8 +4,8 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"hash": "e1df7a663824f03abec6a4688a30e0d3",
|
"hash": "53113db66c2d51264c2a77f87dd0e86b",
|
||||||
"content-hash": "f6d1dca260e16530b88c6572ad98598e",
|
"content-hash": "d8baefcd2e40fe5a3b7f262146c46f34",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "classpreloader/classpreloader",
|
"name": "classpreloader/classpreloader",
|
||||||
@@ -793,16 +793,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/framework",
|
"name": "laravel/framework",
|
||||||
"version": "v5.2.10",
|
"version": "v5.2.11",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/framework.git",
|
"url": "https://github.com/laravel/framework.git",
|
||||||
"reference": "93dc5b0089eef468157fd7200e575c3861ec59a5"
|
"reference": "e8ad411ac3ca63f532952417156e32d010fcc522"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/framework/zipball/93dc5b0089eef468157fd7200e575c3861ec59a5",
|
"url": "https://api.github.com/repos/laravel/framework/zipball/e8ad411ac3ca63f532952417156e32d010fcc522",
|
||||||
"reference": "93dc5b0089eef468157fd7200e575c3861ec59a5",
|
"reference": "e8ad411ac3ca63f532952417156e32d010fcc522",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -917,20 +917,20 @@
|
|||||||
"framework",
|
"framework",
|
||||||
"laravel"
|
"laravel"
|
||||||
],
|
],
|
||||||
"time": "2016-01-13 20:29:10"
|
"time": "2016-01-22 18:36:05"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravelcollective/html",
|
"name": "laravelcollective/html",
|
||||||
"version": "v5.2.2",
|
"version": "v5.2.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/LaravelCollective/html.git",
|
"url": "https://github.com/LaravelCollective/html.git",
|
||||||
"reference": "c88b2d59a56ed2290fc5082a1a6099e357c9fdbc"
|
"reference": "7ec0ca55cab54cc6d331007d86ec068b61f46aad"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/LaravelCollective/html/zipball/c88b2d59a56ed2290fc5082a1a6099e357c9fdbc",
|
"url": "https://api.github.com/repos/LaravelCollective/html/zipball/7ec0ca55cab54cc6d331007d86ec068b61f46aad",
|
||||||
"reference": "c88b2d59a56ed2290fc5082a1a6099e357c9fdbc",
|
"reference": "7ec0ca55cab54cc6d331007d86ec068b61f46aad",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -971,7 +971,7 @@
|
|||||||
],
|
],
|
||||||
"description": "HTML and Form Builders for the Laravel Framework",
|
"description": "HTML and Form Builders for the Laravel Framework",
|
||||||
"homepage": "http://laravelcollective.com",
|
"homepage": "http://laravelcollective.com",
|
||||||
"time": "2016-01-16 16:54:49"
|
"time": "2016-01-20 18:28:21"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "league/flysystem",
|
"name": "league/flysystem",
|
||||||
|
|||||||
@@ -4,11 +4,9 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
@yield('head_meta')
|
|
||||||
<title>@lang('admin/loginForm.login') | {{$vendorName}}</title>
|
<title>@lang('admin/loginForm.login') | {{$vendorName}}</title>
|
||||||
<link rel="stylesheet" href="{{asset('../resources/assets/css/foundation.css')}}" />
|
<link rel="stylesheet" href="{{asset('../resources/assets/css/foundation.css')}}" />
|
||||||
<link rel="stylesheet" href="{{asset('../resources/assets/css/admin.css')}}" />
|
<link rel="stylesheet" href="{{asset('../resources/assets/css/admin.css')}}" />
|
||||||
@yield('head_stylesheets')
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -29,7 +27,7 @@
|
|||||||
|
|
||||||
<label>
|
<label>
|
||||||
@lang('admin/loginForm.email')
|
@lang('admin/loginForm.email')
|
||||||
<input type="text" placeholder="somebody@example.com" name="email">
|
<input type="text" placeholder="somebody@example.com" value="{{old('email')}}" name="email">
|
||||||
|
|
||||||
@if ($errors->has('email'))
|
@if ($errors->has('email'))
|
||||||
<div data-alert class="callout alert text-center small">
|
<div data-alert class="callout alert text-center small">
|
||||||
|
|||||||
Reference in New Issue
Block a user