Аутентификация, когда я гость

#php #laravel

#php #laravel

Вопрос:

Я создал несколько промежуточных программ для пользователя, организатора и администратора. Это работает, но когда я пытаюсь зайти от гостя, у меня возникают некоторые ошибки.

Я спрашиваю, как я могу включить guest в свой код.

Спасибо

 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');
}
  

Пытаюсь получить свойство ‘function’ не-объекта

это моя ошибка

Ответ №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');
}