laravel5.5で、特定のディレクトリにBasic認証(管理画面から変更可)をmiddlewareで実装してみた。

laravel5.5で、特定のディレクトリにBasic認証(管理画面から変更可)をmiddlewareで実装してみた。

1, laravelで制限&認証と言えば、middlewareを使うのが一般的

2, 次にlaravelに登録(app/Http/Kernel.php)します。

// 通常のユーザ認証と同じように、指定したルーティングに対してだけBasic認証を行う
protected $middleware = [];の方に登録すると、全てのルーティングに対して行う


3, BasicAuthMiddlewareの実装(basic認証)を書く

4, web.phpにbasic認証のかけたいURLを指定する

5, このままだとBasic認証のID/PASSが固定値なのでMySQLのテーブルから持ってくるように変更する。
※アクセスされたサブディレクトリ毎に、Basic認証のID/PASSが違う仕様

Basic認証のIDとパスワードの変更画面を追加すれば、これで完成!