用户登录后,应该重新进行身份验证,并且Auth :: check()应该返回true。 但在用户配置文件中,它返回false。有什么不对或缺失?
Route::post('login', function() {
$userdata = array(
'username' => Input::get('user'),
'password' => Input::get('pw')
);
if (Auth::attempt($userdata, true)) {
return Redirect::to('profile');
} else {
return Redirect::to('/')->with('login_errors', true);
}
});
Route::get('profile', function() {
return (Auth::check() ? 'logged in' : 'not logged in') . '<br />' .
(Auth::user()==null ? 'null' : Auth::user()->name);
});
答案 0 :(得分:1)
Route::get('profile', function() {
return (Auth::check() ? 'logged in' : 'not logged in') . '<br />' .
(Auth::user()==null ? 'null' : Auth::user()->name);
});
我认为你的问题在于此。 三元运算符的使用应该是这样的 $ action =(空(var))? 'default':null;
Route::get('profile', function() {
return (Auth::check()) ? 'logged in' : 'not logged in') . '<br />' .
(Auth::user()==null) ? 'null' : Auth::user()->name);
});