当我成为访客时进行身份验证

时间:2019-04-02 07:49:58

标签: php laravel

我为用户,组织者和管理员制作了一些中间件。可以,但是当我尝试从访客那里进去时,我会遇到一些错误。

我的问题是我如何将客人纳入我的代码。

谢谢

public function handle($request, Closure $next)
{
    if (\Auth::user()->function== 'Organizer' or \Auth::user()->function== 'Admin' or \Auth::user()->function== 'User')  {
        return $next($request);
    }

    return redirect('/')->with('status','My message');
}
  

试图获取非对象的属性“功能”

是我的错误

1 个答案:

答案 0 :(得分:1)

您可以使用auth()->guest()来检查用户是否登录:

public function handle($request, Closure $next)
{
    $allowedUserTypes = ['Organizer', 'Admin', 'User'];

    if (auth()->guest()) {
        return redirect('/')->with('status', 'My message');
    }

    if (in_array(auth()->user()->function, $allowedUserTypes))  {
        return $next($request);
    }

    return redirect('/')->with('status', 'My message');
}