php - Cartalyst/Sentinel Laravel 5.4 - Check a database field before Logging user in -
i using sentinel cartalyst in laravel 5.4 project. tying check value of database field of 'users' table after user provides his/her credentials logging in.
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 true log in the problem cant find way implement this..though checks field if returns false user gets logged in
try following :
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); }
Comments
Post a Comment