私が開発しているサイトでは、一部のユーザーはアカウントにサインアップできますが、登録プロセスは途中まで残しておきます。ログインする前にアカウントを完了してください(Laravel 5.2)
ただし、登録時にクリティカルステージを通過した場合、試してもログインできるようになります。この時点で、サイトにアクセスできるようになる前にアカウントの詳細を記入しなければならないページに誘導したいと考えています。
私は一種の不透水性の壁を作りたいと思っています。そのため、アカウントを使用する前に登録を完了する必要があります。現在のところ、ログインしたユーザーを次のようにリダイレクトするだけです:
public function authenticated($request, $user)
{
if ($user->regComplete == false) {
auth()->logout();
flash('you are not verified');
return redirect('/login');
}
return redirect('/');
}
ただし、一部のユーザーを上記のページにリダイレクトしたいと思います。私は、ベストプラクティスは、強制的なアカウント完了ページがある何のためにあるのかあまりわからない、しかし、この
if ($user->incomplete) {
return redirect('/account/complete');
}
のようにそれらをリダイレクトします。
偉大な答えです。これを除いて、これはうまくいかないでしょう。なぜなら、ミドルウェアがマッチしていないため、 'complete'ルートには決して届かないからです。これは無限ループで終了します。適切な方法は、この完全なルートを 'auth'グループだけに設定し、上記のミドルウェアグループ内の他のアカウントルートを設定することです。私が間違っているなら、私を修正してください! –
@JanWillem完全にそれに同意します。今修正しました...ありがとう:) – prateekkathal