Laravel会话不使用自定义中间件

Laravel会话不使用自定义中间件,laravel,session,middleware,Laravel,Session,Middleware,我使用自定义中间件和自定义身份验证进行会话检查,发现$request->getSession()或session::get()不再工作。 在用户控制器(登录后)中,我使用: public function __construct() { $this->middleware('custom_authenticate'); } Session::put('user_id', $user->id); echo ">> " . Session::get('user_id

我使用自定义中间件和自定义身份验证进行会话检查,发现$request->getSession()或session::get()不再工作。 在用户控制器(登录后)中,我使用:

public function __construct()
{
    $this->middleware('custom_authenticate');
}
Session::put('user_id', $user->id);
echo ">> " . Session::get('user_id');   // this gives the value stored in user_id
在自定义身份验证控制器(不使用auth)中,我使用:

public function __construct()
{
    $this->middleware('custom_authenticate');
}
Session::put('user_id', $user->id);
echo ">> " . Session::get('user_id');   // this gives the value stored in user_id
以下是我的自定义中间件:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Session;

class CustomAuthenticate
{
public function handle($request, Closure $next)
{
    $userId = Session::get('user_id');

    if (!isset($userId)) {
        if ($request->ajax()) {
            return response('Unauthorized.', 401);
        } else {
            return redirect()->guest('login');
        }
    }

    return $next($request);
}
}

检查是否已将该中间件分组到路由中

Route::group(['middleware' => 'custom_authenticate'], function () {
        //list  of all controllers action
});
您甚至可以如下更改中间件操作

public function handle($request, Closure $next)
{
    if(session()->has('user_id')){
        if ($request->ajax()) {
            return response('Unauthorized.', 401);
        } else {
            return redirect()->guest('login');
        }
    }

    return $next($request);

}

检查是否已将该中间件分组到路由中

Route::group(['middleware' => 'custom_authenticate'], function () {
        //list  of all controllers action
});
您甚至可以如下更改中间件操作

public function handle($request, Closure $next)
{
    if(session()->has('user_id')){
        if ($request->ajax()) {
            return response('Unauthorized.', 401);
        } else {
            return redirect()->guest('login');
        }
    }

    return $next($request);

}

我用上面的代码测试我的应用程序。我通常得到$userId。嗯,我用上面的代码测试我的应用程序。我通常得到$userId。隐马尔可夫模型。。