在laravel中返回经过身份验证的用户的最佳做法

时间:2018-02-16 07:32:05

标签: php laravel eloquent

我在身份验证方面有点混乱,我从5.2版开始就是Laravel用户。但是在版本5.6的这个场景中,我创建了一个中间件来检查经过身份验证的用户,注销功能很完美,但是,我尝试使用我的中间件访问该页面,它返回

  Header: props => <div className='header-div'> Name <div onMouseOver = {() => {
        console.log('mose');
        this.setState({className: 'addBorder'});
    }} className='hover-div' onMouseOut = {() => {console.log('sdasd');this.setState({className: null});}}> </div></div> ,

因为我有一个获取Authenticated User名称的函数。

我该如何处理这种情况?

我的中间件代码:

Trying to get property 'name' of non-object

在页面中:

   public function handle($request, Closure $next) {
    if (Auth::check()) {
     return $next($request);
    }
    return redirect()->route('login');
}

由于

1 个答案:

答案 0 :(得分:2)

您收到此错误,因为当前用户未经过身份验证。您可以使用optional()帮助程序:

{{ optional(auth()->user())->name }}

或者:

{{ auth()->check() ? auth()->user()->name : 'Please login' }}