0
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

为什么会这样?想不通...

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

4

1 回答 1

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

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

于 2017-04-13T17:45:25.940 回答