Laravel – LoginController

概要

LoginControllerは、Laravelのプロジェクト開始時にapp/Http/Controllers/Authディレクトリー下に生成される。

ルーティングファイルにAuth:routes()を記述することで、このコントローラーの各アクションは以下のようにURLと結び付けられる。

method URL action name
GET /login showLoginForm login
POST /login login

ソースコード

内容

コントローラーの機能

ソースコード冒頭のコメントの要旨は以下の通り。

  • このコントローラーは、アプリケーションにおけるユーザー認証とホームページへの遷移を行う
  • コントローラーはトレイト(AuthrsenticatesUsers)を用いてこの機能を導入している。

AuthenticatesUsersトレイトの導入

AuthenticatesUsersはLaravelで準備されたトレイトで、showLoginFormアクション、loginアクションを実装している

登録後の遷移先

ログイン後の遷移先を設定している。ログイン後の遷移先を変更するには、ここでリダイレクト先を変更するか、HOME定数を変更する。

RouteServiceProviderはコントローラーの冒頭でuseされている。

RouteServiceProviderを見ると、public定数HOME'/home'に設定されている。

ミドルウェアの適用

コントローラーのコンストラクターでミドルウェアを適用している。

'guest'Kernel.phpでルートミドルウェアの名前として定義されていて、RedirectIfAuthenticatedミドルウェアを指している。

RedirectIfAuthenticatedミドルウェアはコントローラー実行前にAuth::guard()メソッドを呼び出している。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です