【问题标题】:laravel get the authenticated userlaravel 获取认证用户
【发布时间】:2014-06-28 14:21:15
【问题描述】:

当用户登录时,我执行以下操作:

 $remember_me = true;
        if(Input::has('remember_me')){
            $remember_me = true;
        }else{
            $remember_me = false;
        }

        if (Auth::attempt(array('username' => Input::get('username'), 'password' => Input::get('password')), $remember_me))
        {
            echo Auth::user()->picture;exit;
        }
        return Redirect::back()->withInput()->withErrors(Input::all())->with(array('errorMessage'=>'Username or password is not correct'));

如您所见,我正在打印图片的值,它是正确的。所以用户已经登录,我应该可以在另一个控制器中像这样给他/她打电话

$user = Auth::user();
echo $user->firstName;exit

但我明白了:

ErrorException
Trying to get property of non-object

我已经将记住我设置为 true。请问我应该怎么做才能使用经过身份验证的用户?

非常感谢

【问题讨论】:

  • 永远不要 exit - 你应该总是在 Laravel 中返​​回一些东西,以便正确设置标题。
  • 这可能是一个会话错误...
  • @TheShiftExchange 好的,我会尝试重定向到调用 $user->firstName 的路由并更新您
  • @TheShiftExchange 很好,它有效,为什么 exit` 会导致这个问题?只是为了了解发生了什么
  • @TheShiftExchange 请写一个答案接受它。非常感谢

标签: php laravel laravel-4


【解决方案1】:
  • 你不应该在 Laravel 中 exit 一个函数。
  • 重要的是你总是return 一些东西。

原因是 Laravel 处理了你的一些函数的最终实现,设置为设置 headers、cookie 等。当你 exit 时,你短路了这个过程,所以 Laravel 不能完成它的一些函数,因此你会得到错误。

【讨论】:

猜你喜欢
  • 2017-10-25
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
  • 2012-11-06
  • 2023-03-19
  • 2014-04-19
相关资源
最近更新 更多