Cartalyst / Sentinel Laravel 5.4 — Проверьте поле базы данных перед тем, как войти в систему

Я использую 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

Проблема, которую я не могу найти способ реализовать это .. хотя он проверяет поле, но если он возвращает ложь, то и пользователь вошел в систему

0

Решение

Попробуйте следующее:

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);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]