laravelのルートディレクトリにて、composerコマンドでパッケージの取り込みます
l5-very-basic-authというパッケージを利用する例です。
composer require olssonm/l5-very-basic-auth
ルートのcomposer.jsonのrequireに追記されます。
config/app.phpに以下をサービスプロバイダーとして追記する。
'providers' => [ Olssonm\VeryBasicAuth\VeryBasicAuthServiceProvider::class ]
サービスプロバイダーはlaravel内でその機能を使うための準備のようなものです。(離れるとすぐ忘れる)
$ php artisan vendor:publish
を実行して、
Provider: Olssonm\VeryBasicAuth\VeryBasicAuthServiceProvider
を選択するか
あるいはまとめて
$ php artisan vendor:publish --provider="Olssonm\VeryBasicAuth\VeryBasicAuthServiceProvider"
を実行します。
そうするとapp/config配下にvery_basic_auth.phpのファイルができます。
そこにユーザーやパスワードやエラー文言を指定できます。
エラーメッセージはblade.phpを表示することも可能です。
そしたらあとはルートの設定です。
サイト内の複数の箇所で実行する場合
Route::group(['middleware' => 'auth.very_basic'], function() { //以下のルートはそれぞれのサービスに合わせて書いてください。以下は例です。 Route::get('/', ['as' => 'start', 'uses' => 'StartController@index']); Route::get('/', function () { return view('welcome'); }); Route::resource('/', 'HogeController'); Route::post('/hoge', 'HogeController@write'); });
サイト内の一部で使う場合
Route::get('/', [ 'as' => 'start', 'uses' => 'StartController@index', 'middleware' => 'auth.very_basic' ]);ルートにインラインでユーザーパスワードもかけるそうです。
Route::get('/', [ 'as' => 'start', 'uses' => 'StartController@index', 'middleware' => 'auth.very_basic:username,password' ]);
意外と便利そうです。
以上のベーシック認証のパッケージはこちらです。
https://github.com/olssonm/l5-very-basic-auth
更新されることがあるのでご一読ください。