LaravelのRoute設定で、同一階層(prefix)の中で認証あり、なしを分ける方法

LaravelのRoute設定を効率的にする方法をご紹介していきます。

一定慣れている方であれば、
・ディレクトリをまとめるために:prefix
・認証処理をまとめるために: middleware(‘auth’)
などを使うかたもいると思います。

これらを使う際に、同じディレクトリ階層だけども、認証が必要なページと、不要なページどちらもある、といったケースでの記述方法を紹介していきます。

やり方は色々とあります。

例えば、下記です。

 
Route::prefix('/article')->name('rec.')->group(function () {

    Route::get('/top', 'ArticleController@rec_top')->name('top');
    Route::get('/tag/{tag_id}', 'ArticleController@tag')->name('tag');

    Route::middleware('auth')->group(function () {
        Route::get('/postadd', 'ArticleController@postadd')->name('postadd');
        Route::post('/postdone', 'ArticleController@postdone')->name('postdone');
        });
});
 

まずは、下記のprefixで括ってしまいます。

 Route::prefix('/article')->name('rec.')->group(function () { }

その中に、

 Route::middleware('auth')->group(function () { }

括られるものと、括られないもので、認証あり、なしを分けていきます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です