Laravel5.7で認証機能を使う
2019年02月07日
Laravelで認証機能を使う方法についての解説です。
Laravelには認証に必要な機能が最初から準備されているので、必要であれば使用することができます。
ちなみに、普通にベーシック認証を行うのであれば、.htaccessを使えばいいのですが、ここで言っている認証とは、ユーザIDとPWを入力してログインし、ログインしていなければログインページに飛ばされるというやつです。
あまりカスタマイズしないのであれば簡単に実装できます。
artisanでauth機能を準備する
コマンドラインで、Laravelのプロジェクトフォルダに移動し、
php artisan make:auth
このコマンドを実行します。
これを準備することで、必要なファイルがLaravelディレクトリに生成されます。
rouesファイルに追記されている
routesのweb.phpに、さきほどのコマンドを実行することで、下の2行の記述が追加されています。
Auth::routes();
Route::get(‘/home’, ‘[email protected]’)->name(‘home’);
上記は、homeディレクトリにアクセスしたときに、ログイン画面が表示される記述です。
あとは、ルートファイルの認証をかけたいページに、以下の記述を追加することで、該当するページに認証がかかります。
Route::get(‘/admin’, ‘[email protected]’)->middleware(‘auth’);
基本認証
ログイン画面を通した認証でなく、基本認証をしたい場合も簡単に実装できます。
auth.basicミドルウェアを使用します。
Route::get(‘/admin’, ‘[email protected]’)->middleware(‘auth.basic’);
基本認証を使用した場合に求められるID/PWは、laravelでプロジェクトを作成後にmigrateで作成される、userテーブルに登録されているユーザemailとパスワードと同じになります。