【问题标题】:How to protect only specific routes of my controller?如何仅保护我的控制器的特定路由?
【发布时间】:2021-02-14 16:37:10
【问题描述】:

所以我有一个资源控制器,它的路由定义如下:

Route::resource('product', 'App\Http\Controllers\ProdutoController')->middleware('auth');

但是,我希望未登录的用户能够访问该控制器内的“显示”方法。如何将“auth”中间件应用于控制器内的每个方法,除了“show”方法?

【问题讨论】:

标签: laravel


【解决方案1】:

在您的 ProdutoController 中,您可以使用构造方法来应用身份验证中间件,但某些路由除外:

/**
     * Instantiate a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth')->except(['index', 'show']); 
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-04
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 2022-10-16
    • 1970-01-01
    • 2018-02-25
    相关资源
    最近更新 更多