Laravel ログイン時に複数項目のIDを使用する
こんにちは。今回はLaravelでログインする際に複数項目でユーザーを認証する方法を解説します。
複数項目のIDでユーザーを認証するとは
まずタイトルの「複数項目でユーザーを認証する」の意味を解説します。通常ログインというとユーザーIDやメールアドレスのみの認証を思い浮かべると思います。これは単一項目をIDとした認証です。一方で複数項目を使用する例は「企業IDとユーザーID」、「顧客IDとメールアドレス」といった感じで、ユーザーを特定するのに2つ以上の項目を使用する場合を指します。今回は複数項目をIDで認証する場合の実装方法を解説します。
Auth::attemptを使用する
Authファサードのattemptを使用する場合は、第3引数以降に追加することで対応可能です。
if (Auth::attempt(['user_id' => $userId, 'password' => $password])) {
// ユーザーIDとパスワードで認証
}
if (Auth::attempt(['user_id' => $userId, 'password' => $password, 'campany_id' => $campanyId])) {
// 企業ID、ユーザーID、パスワードで認証
}
まとめ
複数の項目でユーザー登録する方法を説明しました。分かってしまえば簡単なのですが、調べる過程で結構つまづいたのでメモしておきます。
ディスカッション
コメント一覧
まだ、コメントがありません