Laravel4:记住身份验证

时间:2013-06-04 13:49:34

标签: php authentication laravel

用户登录后,应该重新进行身份验证,并且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);
        });

1 个答案:

答案 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);
    });