Laravel 5.2では、を実行する必要がありますが、認証プロセスがトリガされています。 (ログイン後ではありません)Laravel 5.2:ログイン "試み"イベント処理
ここに私が行ったことがあります。 EventServiceProvider.php
で
:app/Listeners/UserLoginAttempt.php
で
protected $listen = [
'Illuminate\Auth\Events\Attempting' => ['App\Listeners\[email protected]'],
];
:
<?php
namespace App\Listeners;
use Illuminate\Http\Request;
use Illuminate\Auth\Events\Login;
use Carbon\Carbon;
use Auth;
class UserLoginAttempt
{
public function __construct()
{
}
public function handle($event)
{
dd(Auth::user());
exit;
}
}
これは、常にnull
を返します。
**実際、私は上記のイベントハンドラからキャプチャする必要があるログインフォームに1つの「カスタム」フィールドを持っています。 (私は実際のログインイベントが行われる前に何かをチェックする必要があります。)
- どのように私は(しよう\を照らし\認証\イベント)このから
Auth::user()
をキャプチャしますハンドラください? - (言い換えれば)(Illuminate \ Auth \ Events \ Attempting)ハンドラからのログインフォームとの対話方法を教えてください。
- OR -----
Auth::user()
オブジェクトは、ログインが完全に処理された後に作成されますか?つまり、私は "試している"段階でそれを得ることができないのですか?
私は最初のキャプチャにログイン要素を必要とし、それが(ハンドラで行われ、いくつかの計算後)「不正」何かであれば、その後、私は戻っへのログインの試みとルートを終了する必要があるためここからのログインフォーム。失敗メッセージを一緒に運ぶ。
ここに私が紛失していることを教えてください。ありがとうございました。
[documentation](https://laravel.com/docs/5.1/authentication#retrieving-the-authenticated-user)によると、一度ユーザーが認証されると作成される 'Auth :: user()'オブジェクトが正しいでしょう。 – Abbasi
@Abbasi助けてくれてありがとう。この場合、ログインフォームから提出された要素を取得する**適切な**方法は何ですか? ( '$ _GET [" my_custom_field "]'これは醜いのですか?) –
'Request'を使います。 '$ my_custom_field = $ request-> input( 'my_custom_field');'これを達成しようとしているコントローラメソッドを提供すれば、さらにガイドするのは簡単でしょう。 – Abbasi