Я использую Sentinel от Cartalyst в своем проекте Laravel 5.4. Однако я пытаюсь проверить значение поля базы данных таблицы ‘users’ после того, как пользователь предоставит свои учетные данные для входа в систему.
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
Проблема, которую я не могу найти способ реализовать это .. хотя он проверяет поле, но если он возвращает ложь, то и пользователь вошел в систему
Попробуйте следующее:
if($user = Sentinel::authenticate($credentials, $rememberMe) && $user->status == 'Active') {
$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);
}
Других решений пока нет …