我在身份验证方面有点混乱,我从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');
}
由于
答案 0 :(得分:2)
您收到此错误,因为当前用户未经过身份验证。您可以使用optional()
帮助程序:
{{ optional(auth()->user())->name }}
或者:
{{ auth()->check() ? auth()->user()->name : 'Please login' }}