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

#laravel

#laravel

Вопрос:

Я пытаюсь создать промежуточное ПО аутентификации для администратора, но я пытаюсь получить свойство ‘is_admin’ не-объекта

 namespace AppHttpMiddleware;
use IlluminateSupportFacadesAuth;
use Closure;

class Admin
{
    public function handle($request, Closure $next)
{ 
    if(auth()->user()->is_admin == 1){
        return $next($request);
        }
       return redirect()->route('login');

}
 

и когда я напечатал dd (auth ()-> user ())
он вернул значение null

Ответ №1:

auth()->user() возвращает null

Почему?

Потому что пользователь не вошел в систему.

Итак, вы можете изменить свое условие из:

if(auth()->user()->is_admin == 1)

Для:

if(auth()->check() amp;amp; auth()->user()->is_admin == 1)

Комментарии:

1. Я попробовал ваш код, вы правы, он не аутентифицирован, но я не знаю почему? Я отправил токен в заголовке после входа в систему, но он все еще не прошел проверку подлинности

2. Route::group([‘промежуточное программное обеспечение’ => ‘admin’], функция(){ Route::post(‘/products’,’ProductController@store’); }); это моя группа промежуточного программного обеспечения @Imran

3. Что у вас есть в вашем промежуточном программном обеспечении? Разве вы не применяете auth промежуточное программное обеспечение?