Laravel 5.2 身份验证与 TwigBridge 会话存储未设置


Laravel 5.2 Auth with TwigBridge Session store not set

正如标题中提到的,我正在使用Laravel 5.2,并且我已经设置了TwigBridge,因此我可以使用twig作为我的视图。我只是使用Laravel附带的基本身份验证包。问题是当我使用树枝模板时,出现以下错误:

An exception has been thrown during the rendering of a template ("Session store not set on request.") in "...resources/views/auth/register.twig" at line 17.

这指向{{ old('name') }}调用的使用。我尝试将其切换到input_old,因为我认为 TwigBridge 更喜欢这样,但这没有帮助。如果我使用刀片模板,则没有问题。我也没有做任何特别的事情。我只是重命名刀片模板,这样就不会调用它,而是调用我的寄存器树枝模板,因为它使用名称 register .

旧值是从会话中获取的。要让这些值存储在会话中并取回这些值,您需要应用 'Illuminate'Session'Middleware'StartSession 和 将中间件'Illuminate'View'Middleware'ShareErrorsFromSession到您的路由中。这两者都是中间件组web的一部分。

您可以将web中间件组应用于所有路由(除非您正在创建 API),如下所示:

Route::group(['middleware' => ['web']], function () {
    Route::get("login" , "AuthController@getLogin");
    //Similarly all other routes here
});