Laravel Auth :: attempt()执行后,无法获取用户的属性

时间:2013-05-03 10:56:20

标签: php authentication laravel

if (!$validation->fails() && Auth::attempt($input))
            {
                if (Auth::user()->role == ADMIN_ROLE)
                {
                    return Redirect::to('admin');
                }
                elseif (Auth::user()->role == USER_ROLE)
                {
                    return Redirect::back();
                }
            }

在try()方法执行后,它返回TRUE,但之后我无法使用Auth :: user()属性,我收到错误:

Trying to get property of non-object

为什么会这样?无法弄清楚......

Auth :: login()方法也可以正常工作

1 个答案:

答案 0 :(得分:0)

如果这是L5 +,则在控制器名称空间内的每个控制器中都可以使用$ this-> validate。验证失败后,错误将发送到错误包并退出。

 $this->validate($request, [
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
]);

// code to log user in
// a bunch of other code

如果验证失败,则会将错误发送到错误包并随时随地访问。