Php Don';laravel 5.2中的t工作认证

Php Don';laravel 5.2中的t工作认证,php,authentication,laravel-5,laravel-routing,laravel-5.2,Php,Authentication,Laravel 5,Laravel Routing,Laravel 5.2,不要使用身份验证。我手动创建身份验证。 MyAdminController: class AdminController extends Controller { public function signin() { return view('admin.signin'); } public function index(Request $request) { dd(Auth::check()); if (Auth::

不要使用身份验证。我手动创建身份验证。
My
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');
});

手册中没有说明
dd()
转储变量并结束脚本的执行吗?您的路由是否应用了“web”中间件组?@riggsfully with dd()我只是检查返回值,没有将dd()页面重定向到登录操作。身份验证不起作用。不,我的web中间件不包含路由,因为这样会导致
TokenMismatchException
出现错误,正如您所说,但错误是输出的:
tokenmischexception in VerifyCsrfToken.php第67行:
您何时出现此错误。当你用表单打开新页面并尝试登录时?如果您将其打开很长时间,您会遇到此错误是正常的。谢谢您的回答帮助了我,但是现在遇到了另一个问题
Auth::logout()
此方法返回了
null