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

Laravel 5路由列表中的重复Web中间件

李经国
2023-03-14

我刚刚开始一个新的Laravel 5.2项目,我的路由有问题。Web中间件在路由列表中重复,我在会话和csrf方面有很多问题。

这是我的artisan路线:列表输出:

+--------+----------+----------------------------------+----------------------------+-----------------------------------------------------------------+--------------+
| Domain | Method   | URI                              | Name                       | Action                                                          | Middleware   |
+--------+----------+----------------------------------+----------------------------+-----------------------------------------------------------------+--------------+
|        | GET|HEAD | /                                |                            | Closure                                                         | web,web      |
|        | GET|HEAD | cron/cursos                      | cron_courses               | App\Http\Controllers\CourseController@call_store                | web,web      |
|        | GET|HEAD | cursos                           | courses                    | App\Http\Controllers\CourseController@index                     | web,web      |
|        | GET|HEAD | cursos/buscar                    | courses_search             | App\Http\Controllers\CourseController@search                    | web,web      |
|        | GET|HEAD | cursos/detalle/{id}              | courses_detail             | App\Http\Controllers\CourseController@detail                    | web,web      |
|        | GET|HEAD | cursos/solicitar/{id}            | courses_apply              | App\Http\Controllers\CourseController@apply                     | web,web,auth |
|        | POST     | guardar-datos                    | save_panel                 | App\Http\Controllers\UserController@panel_save                  | web,web,auth |
|        | GET|HEAD | home                             |                            | App\Http\Controllers\HomeController@index                       | web,auth     |
|        | POST     | login                            |                            | App\Http\Controllers\Auth\AuthController@login                  | web,guest    |
|        | GET|HEAD | login                            |                            | App\Http\Controllers\Auth\AuthController@showLoginForm          | web,guest    |
|        | GET|HEAD | logout                           |                            | App\Http\Controllers\Auth\AuthController@logout                 | web          |
|        | GET|HEAD | panel                            | panel                      | App\Http\Controllers\UserController@panel                       | web,web,auth |
|        | POST     | password/email                   |                            | App\Http\Controllers\Auth\PasswordController@sendResetLinkEmail | web,guest    |
|        | POST     | password/reset                   |                            | App\Http\Controllers\Auth\PasswordController@reset              | web,guest    |
|        | GET|HEAD | password/reset/{token?}          |                            | App\Http\Controllers\Auth\PasswordController@showResetForm      | web,guest    |
|        | GET|HEAD | prueba                           | prueba                     | App\Http\Controllers\UserController@prueba                      | web,web      |
|        | POST     | register                         |                            | App\Http\Controllers\Auth\AuthController@register               | web,guest    |
|        | GET|HEAD | register                         |                            | App\Http\Controllers\Auth\AuthController@showRegistrationForm   | web,guest    |
|        | GET|HEAD | sociallogin/callback/{provider?} | auth.getSocialAuthCallback | App\Http\Controllers\AuthSocialController@getSocialAuthCallback | web,web      |
|        | GET|HEAD | sociallogin/{provider?}          | auth.getSocialAuth         | App\Http\Controllers\AuthSocialController@getSocialAuth         | web,web      |
+--------+----------+----------------------------------+----------------------------+-----------------------------------------------------------------+--------------+

这是我的routes.php文件

Route::group(['middleware' => ['web']], function () {
    Route::get('/', function () {
        return view('welcome');
    });

    Route::get('/prueba', ['as' => 'prueba', 'uses' => 'UserController@prueba']);

    # HOME
    Route::get('/cursos',              ['as' => 'courses',        'uses' => 'CourseController@index']);
    Route::get('/cursos/buscar',       ['as' => 'courses_search', 'uses' => 'CourseController@search']);
    Route::get('/cursos/detalle/{id}', ['as' => 'courses_detail', 'uses' => 'CourseController@detail']);

    # SOCIAL LOGIN
    Route::get('/sociallogin/{provider?}',[
        'uses' => 'AuthSocialController@getSocialAuth',
        'as'   => 'auth.getSocialAuth'
    ]);
    Route::get('/sociallogin/callback/{provider?}',[
        'uses' => 'AuthSocialController@getSocialAuthCallback',
        'as'   => 'auth.getSocialAuthCallback'
    ]);

});

Route::group(['prefix' => 'cron', 'middleware' => ['web']], function () {
    Route::get('/cursos',       ['as' => 'cron_courses', 'uses' => 'CourseController@call_store']);
});

Route::group(['middleware' => ['web', 'auth']], function () {
    Route::get('/panel',          ['as' => 'panel',      'uses' => 'UserController@panel']);
    Route::post('/guardar-datos', ['as' => 'save_panel', 'uses' => 'UserController@panel_save']);

    Route::get('/cursos/solicitar/{id}', ['as' => 'courses_apply', 'uses' => 'CourseController@apply']);

});

Route::auth();

Route::get('/home', 'HomeController@index');

我有另一个项目与Laravel 5.2和我一切正常。

知道怎么解决吗?

谢谢

共有2个答案

华展鹏
2023-03-14

出于某种原因,您的路线中有一个额外的路线组。php文件。删除该路由组,应该将其修复。

Laravel在5.2最新版本的幕后默认使用“网络”中间件!

阎单鹗
2023-03-14

您应该从路由中删除web中间件。php,因为从5.2.27开始,Laravel将web中间件自动应用于路由中的所有路由。php。

 类似资料:
  • 我的路线是这样的: 这个路由检查,如果用户是登录之前调用免费下载方法.如果不是,登录表单出现。 然后用户需要登录并且登录控制器返回家并且用户需要再次点击路线按钮('product.free')以便访问路线名称product.free。 有一种方法调用ProductController@freeDownload方法只是在登录后,如果用户点击按钮之前? 希望我或多或少是清楚的。 这里我的登录控制器:

  • 有了这个答案的帮助,我可以用Python计算时间增量列表的平均值。 是否有一种解决方案可以获得列表中时间增量的中值?

  • 只是试图在signup.blade.php中找不到的Laravel类“form”中创建一个简单表单 这是web.php 这是signup.blade.php 我是否遗漏了任何或语句或此处有何错误谢谢!

  • 我正在使用Laravel 8,当我将路由写入控制器时,如下所示: 它显示了这个错误: 无效的路由操作:[PortfolioController]。不可调用 所以它只能这样工作: 这对我来说没有意义,因为它应该找到,这是: Laravel 8是否忽略了属性???

  • 所以我想拿一个这样的清单: <代码>[1,2,3,4] 然后在位置“i”前添加一个项目。例如,如果i=2,列表将变为: 我怎么能用蟒蛇做呢?先谢谢你。