当前位置: 首页 > 知识库问答 >
问题:

Laravel-未根据请求设置会话存储

陈斌蔚
2023-03-14

我最近创建了一个新的Laravel项目,并遵循认证指南。当我访问我的登录或注册路径时,会出现以下错误:

ErrorException in Request.php line 775:
Session store not set on request. (View: C:\Users\Matthew\Documents\test\resources\views\auth\register.blade.php)

我没有编辑任何核心Laravel文件,我只创建了视图并将路由添加到我的routes.php文件

// Authentication routes
Route::get('auth/login', ['uses' => 'Auth\AuthController@getLogin', 'as' => 'login']);
Route::post('auth/login', ['uses' => 'Auth\AuthController@postLogin', 'as' => 'login']);
Route::get('auth/logout', ['uses' => 'Auth\AuthController@getLogout', 'as' => 'logout']);

// Registration routes
Route::get('auth/register', ['uses' => 'Auth\AuthController@getRegister', 'as' => 'register']);
Route::post('auth/register', ['uses' => 'Auth\AuthController@postRegister', 'as' => 'login']);

我对Laravel没有太多经验,所以请原谅我的无知。我知道还有另一个问题在问同样的事情,但是两个答案似乎都不适合我。感谢阅读!

编辑:

这是我的登记簿。刀身php的要求。

@extends('partials.main')

@section('title', 'Test | Register')

@section('content')
    <form method="POST" action="/auth/register">
        {!! csrf_field() !!}
        <div class="ui input">
          <input type="text" name="name" value="{{ old('name') }}" placeholder="Username">
        </div>
        <div class="ui input">
          <input type="email" name="email" value="{{ old('email') }}" placeholder="Email">
        </div>
        <div class="ui input">
          <input type="password" name="password" placeholder="Password">
        </div>
        <div class="ui input">
          <input type="password" name="password_confirmation"placeholder="Confirm Password">
        </div>
        <div>
            <button class="ui primary button" type="submit">Register</button>
        </div>
    </form>
@endsection

共有3个答案

太叔志尚
2023-03-14

在我的例子中(使用Laravel 5.3),仅添加以下2个中间件允许我在API路由中访问会话数据:

  • \App\Http\Middleware\EncryptCookies::class
  • \Illumate\session\Middleware\Startsession::class

整个声明$middleware Group在Kernel.php):

'api' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Session\Middleware\StartSession::class,
            'throttle:60,1',
            'bindings',
        ],
巫马淳
2023-03-14

如果将您的路由添加到web中间件中由于任何原因不起作用,请尝试将此添加到$middlewareKernel.php

protected $middleware = [
        //...
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
];
柴嘉禧
2023-03-14

如果需要会话状态、CSRF保护等,则需要使用web中间件。

Route::group(['middleware' => ['web']], function () {
    // your routes here
});
 类似资料:
  • 问题内容: 我最近创建了一个新的Laravel项目,并遵循有关身份验证的指南。当我访问登录或注册路线时,出现以下错误: 我还没有编辑任何核心Laravel文件,我只创建了视图并将路由添加到了route.php文件中 我在Laravel上没有太多经验,所以请原谅我的无知。我知道还有另一个问题要问同样的事情,但似乎没有一个答案对我有用。谢谢阅读! 编辑: 这是我所要求的register.blade.p

  • 我试图在WAMP上升级Laravel 4.1应用程序到5.1,得到了这个错误: Request.php第775行中的运行时异常:会话存储未根据请求设置。 在D:\wamp\www\laravel-5.1\vendor\laravel\framework\src\light\Http\Request.php第775行中,应请求- 文件夹是可写的,使用的会话驱动程序是。我在整个项目中搜索,但找不到。我

  • 我使用了一个教程来实现Google的2FA:https://www.sitepoint.com/2fa-in-laravel-with-google-authenticator-get-secure/ ValidateSecurest类从App\Http\请求扩展而来;但是我的“请求”文件夹中没有这个类。所以我使用了照明\Http\请求; 但是当我在控制器中调用这个类时,我得到了一个错误。 Run

  • 我按照教程步骤尝试SBT: 有什么想法可以解决这个问题吗?

  • 设置 我已经使用CreateReact应用程序设置了前端环境。在此环境中,我使用Axios向我的节点JS Express后端服务器/登录endpoint发出POST请求。我使用express sessions设置会话中间件,并将会话存储在Redis中。我目前在本地主机上运行所有这些。 环境 > React App-http://localhost:3005/kp(注意:服务运行在http://lo

  • 是否可以根据权利要求提供账户,或者OIM希望在权利要求之前已经存在账户? 我已经有一个应用程序实例,它有2-3个权限。 当OIM用户请求对特定应用程序实例的权限时,我假设此OIM用户必须在应用程序实例中已经拥有帐户