【发布时间】:2017-03-31 11:22:48
【问题描述】:
当我这样放数据时:
$request->session()->put('123', '12345')
,会话包含这个值,但是当我尝试以这种方式将数据放入会话时
$result = ['status' => 'Product has been updated']
return redirect('/admin/products/')->with($result);
会话不包含它。
kernel:
class Kernel extends HttpKernel
{
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class
];
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
],
];
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
}
routes:
Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function () {
Route::get('/', ['uses' => 'Admin\IndexController@index', 'as' => 'adminIndex']);
Route::resource('/products', 'Admin\ProductController');
});
我对 laravel 5.2 中的更改感到不满,并且这个问题可能会导致 Web 中间件,但我的路由中没有。那么为什么会话不包含给定的状态呢?
【问题讨论】:
-
删除它导致问题描述得非常不清楚
-
您能否在您的
Kernel.php中也包含web数组? -
你是什么意思?
-
在问题中显示完整的内核
-
尝试从
$middlewareGroups的web数组中删除StartSession和ShareErrorsFromSession,因为您现在要启动它两次。