Don't working authentication in laravel 5.2


Don't working authentication in laravel 5.2

不进行身份验证。我手动创建身份验证
我的AdminController:

class AdminController extends Controller
{
    public function signin() {
        return view('admin.signin');
    }
    public function index(Request $request) {
        dd(Auth::check());
        if (Auth::check())
            return view('admin.index.index', ['login' => Auth::user()->name]);
        else
            return redirect()->action('AdminController@signin');
    }
    public function login() {
        $data = Input::all();
        if (Auth::attempt(['name' => $data['login'], 'password' => $data['password']])) {
            return redirect()->intended('/admin');
        } else {
            return redirect()->intended('/admin/signin');
        }
    }
    public function logout() {
        if (Auth::logout() ) {
            return Redirect::to('/admin');
        }
    }
}  

我的routes.php文件:

  //GET
  Route::get('/', 'IndexController@index');
  Route::get('/admin/signin', 'AdminController@signin');
  Route::get('/admin', 'AdminController@index');
  Route::get('/admin/logout', 'AdminController@logout');
  //POST
  Route::post('/admin/auth', 'AdminController@login');   

dd(Auth::check());返回false

我做错了什么?

在Laravel 5.2中,您需要使用web中间件定义路由以使会话正常工作,因此您的routes.php文件应该如下所示:

Route::group(['middleware' => ['web']], function () {
  //GET
  Route::get('/', 'IndexController@index');
  Route::get('/admin/signin', 'AdminController@signin');
  Route::get('/admin', 'AdminController@index');
  Route::get('/admin/logout', 'AdminController@logout');
  //POST
  Route::post('/admin/auth', 'AdminController@login');
});