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
更新されることがあるのでご一読ください。