0
私のLaravel 5.4プロジェクトでSentinel by Cartalystを使用しています。しかし、私は、ユーザーがログインするために彼/彼女の資格情報を提供した後、「ユーザー」テーブルのデータベースフィールドの値をチェックするために抱き合わせています。Cartalyst/Sentinel Laravel 5.4 - ログインする前にデータベースフィールドを確認する
if(Sentinel::authenticate($credentials, $rememberMe)) {
$slug = Sentinel::getUser()->roles()->first()->slug;
if($slug == 'A') {
Session::flash('welcome_message' , 'A');
return response()->json(['redirect' => '/A/dashboard']);
} elseif($slug == 'B') {
Session::flash('welcome_message' , 'B');
return response()->json(['redirect' => '/B/dashboard']);
}
} else {
return response()->json(['error' => 'Wrong credentials entered'], 500);
}
// if(Sentinel::getUser()->status == 'Active') -- if this is true we log in
問題を私はthis..though実装する方法を見つけるカントそれは、フィールドをチェックしますが、それは、ユーザーが
は 'センチネルです::認証()' trueを返しますか? –
@PankitGami Sentinel :: authenticate()は、ユーザーが正しいログイン資格情報を提供していますが、その前に 'active'フィールドをチェックしたい場合にのみtrueを返します。フィールドがアクティブでない場合はauthenticate()がtrueを返した後でも、ユーザはログインしません –
したがって、両方をチェックしたいと思います。ユーザーが正しい資格情報を提供し、彼のステータスがアクティブでなければならない場合にのみ、彼にログインさせますか? –