【问题标题】:Laravel Middleware / Route GroupsLaravel 中间件/路由组
【发布时间】:2016-12-09 06:36:32
【问题描述】:

我对 Laravel 还很陌生,所以这个问题对某些人来说可能很明显。

在每个 HTTP 请求运行检查的情况下,例如 用户身份验证。是否有更好、更有效或更简单的正确方法来运行这些检查。从我最初的研究来看,这似乎可以使用中间件来完成,例如。

public function __construct()
{
    $this->middleware('auth');
}

似乎也可以使用路由组,例如。

Route::group(['middleware' => 'auth'], function () {
    Route::get('/', function ()    {
        // Uses Auth Middleware
    });

    Route::get('user/profile', function () {
        // Uses Auth Middleware
    });
});

这两种方式中的任何一种都有什么好处吗?除了不必在每个控制器身份验证中添加 $this->middleware('auth'); 的明显好处之外,还需要检查。

谢谢

编辑..

在接受您的建议后,我尝试使用路由分组来控制我的 Auth MiddleWare。但这似乎破坏了我的网站。

Route::group(['middleware' => 'auth'], function () {
    Route::auth();

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

    Route::get ( '/redirect/{provider}', 'SocialAuthController@redirect' );
    Route::get ( '/callback/{provider}', 'SocialAuthController@callback' );
});

我是否遗漏了一些明显的东西?

【问题讨论】:

  • 它做同样的事情,所以选择你喜欢的任何方式,并坚持下去
  • 所以他们绝对没有区别?
  • Route::auth (); 只是声明所有用于注册和登录的路由的一种方式。如果您使用不错的 IDE,您可以单击并转到方法定义,它会显示正在创建的路由。 Laravel 使用了很多抽象、魔术方法和多重继承,所以一个好的 ide 是必须的
  • 你能推荐一个与 Laravel 一起使用的好主意吗?
  • Phpstorm 如果你愿意花几英镑,Netbeans 如果你不愿意。

标签: php laravel laravel-5.2 laravel-routing laravel-middleware


【解决方案1】:

没有真正的区别,我个人使用标准中间件的组并将异常放入构造中

【讨论】:

  • 只使用一次或两次的中间件,例如特定页面的年龄门
【解决方案2】:

使用路由组很容易维护/修改,否则你必须记住你使用某些中间件的每个控制器,当然这在中小型应用程序中不是问题,但这在大型应用程序,其中有很多控制器和对中间件的引用。

【讨论】:

  • https://vi.stackfinder.net/questions/38745291/laravel-middleware-route-groups得到源
【解决方案3】:

你快到了,只需删除Route::auth()

Route::group(['middleware' => 'auth'], function () {
    Route::get('/home', 'HomeController@index');
    //add more Routes here
});

【讨论】:

    【解决方案4】:

    建议的选项对我不起作用,但是当我检查 laravel 文档时,我发现:

    Route::middleware(['web'])->group(function () {
        //Your routes here
    });
    

    它对我有用。 Laravel 8.*

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 2015-08-17
      • 2015-10-26
      • 2015-08-01
      • 2020-12-09
      • 2016-06-03
      • 2021-12-29
      • 2019-02-11
      • 2016-12-16
      相关资源
      最近更新 更多