omachizura

仕事メモ、役に立ったスキルをまとめています。


Laravel5でログイン処理を独自に実装する

Laravel5.0にはログイン処理がすでに実装されています。デフォルトではログインに必要な情報がメールアドレスとパスワードなので、これをユーザIDとパスワードに変更します。

AuthControllerの仕組み

AuthControllerにはgetLoginなどのルートの処理が実装されていません。しかしauth/loginにアクセスすると、ログイン画面が表示されます。

AuthControllerの処理はAuthenticatesAndRegistersUsersで実装されており、AuthenticatesAndRegistersUsersを使うように以下の部分に記載されています。

use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; //6行目

use AuthenticatesAndRegistersUsers; //21行目

AuthenticatesAndRegistersUsersの実装

vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers.phpに実装されている中で、使用するファンクションをAuthControllerにコピーします。また、use Illuminate\Http\Request;なども合わせてコピーします。

これで6行目と21行目を削除しても、再度auth/loginにアクセスすると、ログイン画面が表示されます。

あとは普通のコントローラーと同じように実装できます。