====== 【Laravel】Basic 認証 ======
参考:[[https://taka4thz.com/laravel-basic-auth/|【Laravel】Basic認証を実装する方法]]
Laravel のバージョン違いによるものか、上記参考サイトの方法ではエラーが出たため「Laravel Framework 7.19.1」でのやり方を残しておきます。
php artisan -V
Laravel Framework 7.19.1
といっても、原因は「routes/web.php」への middleware の指定の仕方でしたので、そこだけ書き方を変えれば OK でした。
以下、手順。
===== Basic 認証のミドルウェア作成 =====
php artisan make:middleware BasicAuthMiddleware
作成された app/Http/Middleware/BasicAuthMiddleware.php の中身を以下のように書き換えます。\\
handle 関数の中身だけコピペで OK!
ユーザ名とパスワードを直書きしてますが、環境によって変えたい場合は .env に、複数ユーザを作りたい場合は配列で持っておけばよいかと。
===== 作成したミドルウェアを追加 =====
app/Http/Kernel.php の $routeMiddleware に以下を追加。
protected $routeMiddleware = [
... 略 ...
'basic.auth' => 'App\Http\Middleware\BasicAuthMiddleware',
];
===== ルーティングに Basic 認証を指定 =====
routes/web.php の該当ページに作成した Basic 認証のミドルウェアを追加する。
Route::middleware('basic.auth')->group(function(){
Route::get('/', 'HomeController@home')->name('home');
});
これで完了です。\\
思った以上に簡単ですね。