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


Laravel Auth::attempt() after executing, can't get properties of user

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();
                }
            }

在尝试()方法执行后,它返回TRUE,但在此之后我不能使用Auth::user()属性,我得到一个错误:

Trying to get property of non-object

为什么会这样?Can 't figure it out.

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

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

 $this->validate($request, [
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
]);
// code to log user in
// a bunch of other code

如果验证失败,错误将被发送到错误包,并且可以在任何地方访问。