Laravel AppServiceProvider Auth::guard('admin')->check() не работает

Я хотел бы поделиться данными со всеми представлениями через AppServiceProvider. Кроме того, я хотел бы сначала проверить тип защиты, чтобы дать конкретный вывод для каждого типа пользователя.

Я пытался проверить защиту в AppServiceProvider через Auth::guard('admin')->check(), но она возвращает false. Однако тот же оператор if отлично работает в моих контроллерах. Я также включил Illuminate\Support\Facades\Auth и Illuminate\Support\Facades\View.

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\View;

class AppServiceProvider extends ServiceProvider
{

    public function boot()
    {
        if (Auth::guard('admin')->check()) {

            // Share data with views

        }
    }
}

Оператор if возвращает false, хотя я вошел в систему как администратор.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
684
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

для этого вам нужен просмотр композитора.

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Auth;
use DB;
class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        view()->composer('*', function ($view) 
        {
            if (Auth::guard('admin')->check()) {

            }   
        });  
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

Если вы хотите передавать данные в представлениях.

        view()->composer('*', function ($view) 
        {
            if (Auth::guard('admin')->check()) {
                 $admin = DB::table('admins')->first();  // for example
                 $view->with(compact('admin'));
            }   
        });

Другие вопросы по теме