我在登录用户后,尝试保存会话数据库中的值。我尝试使用此代码验证登录并进入会话。
protected function login(Request $Request){
$var = $Request->session()->all();
return dd($var);
$user = Model\Account::where('username',$Request['username'])->first();
if(isset($user)){
if (Hash::check($Request['password'], $user->password))
{
$Request->Session()->put('usuarios',$user);
return view('aluno/showActivities');
}
else{
return dd('Invalid password.');
}
}
else{
return dd('User doesn't exists.');
}
}
OBS:我使用控制器执行登录。此路由的定义类似于向下的代码。
Route::post('/new/login',['as' => 'authRegister', 'uses' => 'UserController@login',function () {
return Response::json(['Fail' => true], 404);
}] );

登录验证后,laravel确实将此行保存在数据库中。
他没有保存user_id。我怎么能保存这些信息? 其他问题是我如何收回会话的信息?在方法get中,我尝试使用$ Request-> session() - > get(' usuarios'),但返回null。
var_dump($ user)=
yes. See the result.
object(App\Model\Account)#198 (23) { ["table":protected]=> string(7) "account" ["connection":protected]=> string(5) "mysql" ["fillable":protected]=> array(3) { [0]=> string(5) "email" [1]=> string(8) "password" [2]=> string(8) "username" } ["primaryKey":protected]=> string(2) "id" ["perPage":protected]=> int(15) ["incrementing"]=> bool(true) ["timestamps"]=> bool(true) ["attributes":protected]=> array(8) { ["id"]=> int(4) ["email"]=> string(20) "thiagothgb@gmail.com" ["password"]=> string(60) "$2y$10$yFZDFHH2tr6OeoRtEShSmOsX99TQ7e.o5Tb2mJ7sA4tNZEXr4s3tG" ["username"]=> string(10) "thiagothgb" ["deleted_at"]=> NULL ["created_at"]=> string(19) "2016-04-23 17:20:10" ["updated_at"]=> string(19) "2016-04-23 17:20:10" ["user_id"]=> int(6) } ["original":protected]=> array(8) { ["id"]=> int(4) ["email"]=> string(20) "thiagothgb@gmail.com" ["password"]=> string(60) "$2y$10$yFZDFHH2tr6OeoRtEShSmOsX99TQ7e.o5Tb2mJ7sA4tNZEXr4s3tG" ["username"]=> string(10) "thiagothgb" ["deleted_at"]=> NULL ["created_at"]=> string(19) "2016-04-23 17:20:10" ["updated_at"]=> string(19) "2016-04-23 17:20:10" ["user_id"]=> int(6) } ["relations":protected]=> array(0) { } ["hidden":protected]=> array(0) { } ["visible":protected]=> array(0) { } ["appends":protected]=> array(0) { } ["guarded":protected]=> array(1) { [0]=> string(1) "*" } ["dates":protected]=> array(0) { } ["dateFormat":protected]=> NULL ["casts":protected]=> array(0) { } ["touches":protected]=> array(0) { } ["observables":protected]=> array(0) { } ["with":protected]=> array(0) { } ["morphClass":protected]=> NULL ["exists"]=> bool(true) ["wasRecentlyCreated"]=> bool(false) }

答案 0 :(得分:0)
试试这个,然后检查你是否得到了会话值。
$user = Model\Account::where('username',$Request['username'])->first();
$Request->Session()->put('usuarios',$user->toArray());
echo "<pre>";
print_r($Request->Session()->get('usuarios'));
echo "</pre>";
die();
告诉我你的结果
答案 1 :(得分:0)
现在我明白了。我通过以下方式修改控制器:
protected function VerificaSessao(Request $Request){
if ($Request->session()){
if ($Request->session()->has('usuarios')){
return view('aluno/showActivities');
}
else{
return dd('not have session');
}
}
else{
return dd('not have session');
}
}
在其他浏览器上进行访问测试,我查看了结果。它没有重定向到查看“Aluno / showActivities”。这个作品。谢谢你的帮助。祝你有个美好的夜晚