Lumen 请求的会话应用程序 ('session') 为空。重定向不起作用
Lumen Request has session app('session') is empty. Redirect not working
在流明控制器上采用以下存储方法时
public function store(Request $request, JwtToken $jwtToken, Redirector $redirector)
{
$sessionData = $request->session()->all();
$this->validate($request, [
'username' => 'required',
'password' => 'required'
]);
}
在 $sessionData 中,会话中的所有数据都存在,包括之前的 url。通过默认验证器时,它调用 app('session')->previousUrl()
which returns null
在 $request->session()
上做同样的事情时,它就存在了。我不知道是我搞砸了什么还是 lumen 中的错误。
我尝试了 Redis 和文件驱动程序。
你在 bootstrap/app.php
上忘记了这个:
/*
|--------------------------------------------------------------------------
| Register Middleware
|--------------------------------------------------------------------------
|
| Next, we will register the middleware with the application. These can
| be global middleware that run before and after each request into a
| route or middleware that'll be assigned to some specific routes.
|
*/
$app->middleware([
Illuminate\Cookie\Middleware\EncryptCookies::class,
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
Illuminate\Session\Middleware\StartSession::class,
Illuminate\View\Middleware\ShareErrorsFromSession::class,
Laravel\Lumen\Http\Middleware\VerifyCsrfToken::class,
]);
似乎是 Lumen 中的错误,已通过执行以下操作修复
public function store(Request $request, JwtToken $jwtToken)
{
$sessionData = $request->session()->all();
$this->validate($request, [
'username' => 'required',
'password' => 'required'
]);
//use global redirect helper function
}
删除了重定向器引用并使用了全局辅助函数
在流明控制器上采用以下存储方法时
public function store(Request $request, JwtToken $jwtToken, Redirector $redirector)
{
$sessionData = $request->session()->all();
$this->validate($request, [
'username' => 'required',
'password' => 'required'
]);
}
在 $sessionData 中,会话中的所有数据都存在,包括之前的 url。通过默认验证器时,它调用 app('session')->previousUrl()
which returns null
在 $request->session()
上做同样的事情时,它就存在了。我不知道是我搞砸了什么还是 lumen 中的错误。
我尝试了 Redis 和文件驱动程序。
你在 bootstrap/app.php
上忘记了这个:
/*
|--------------------------------------------------------------------------
| Register Middleware
|--------------------------------------------------------------------------
|
| Next, we will register the middleware with the application. These can
| be global middleware that run before and after each request into a
| route or middleware that'll be assigned to some specific routes.
|
*/
$app->middleware([
Illuminate\Cookie\Middleware\EncryptCookies::class,
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
Illuminate\Session\Middleware\StartSession::class,
Illuminate\View\Middleware\ShareErrorsFromSession::class,
Laravel\Lumen\Http\Middleware\VerifyCsrfToken::class,
]);
似乎是 Lumen 中的错误,已通过执行以下操作修复
public function store(Request $request, JwtToken $jwtToken)
{
$sessionData = $request->session()->all();
$this->validate($request, [
'username' => 'required',
'password' => 'required'
]);
//use global redirect helper function
}
删除了重定向器引用并使用了全局辅助函数