Laravelのログイン実装 - 王道を外れたログインの実装 -

Auth::attemptを使うと、DBからデータを自動で取得しログイン処理を行ってくれます。
しかし、メールアドレスとパスワードを利用しないでログインをさせたい。
そう思ったことはありませんか?

IDを指定してログイン

一時的なログインを実装するときに便利です。
IDを渡すだけなので、下手な使い方をすると結構脆弱性を生む可能性があるので注意が必要です。

Auth::loginUsingId(ユーザID(usersテーブルのPK), true);

参考
https://stackoverflow.com/questions/43139622/faking-logins-with-laravel-auth

自分でデータを取得してログイン

参考サイトのコード丸コピでごめん。
自分でDBからデータを取得しておき、そのModelでログインを行わせるものです。

$user = User::find($user_id);
Auth::login($user);

Auth::attempt()の処理を手動で行ったイメージですね。

参考
http://recipes.laravel.jp/recipe/78

[PR] おすすめの本
この記事を書いた人
Nな人(えぬなひと)。
Nは本名から取っています。
Laravelが大好きなPHPerで、WEBを作るときはLaravelを技術スタックに絶対推すマン。
PHP、Pythonと、昔はperlを書いていたP言語エンジニア。
最近はNimを書いたりしています。