Uzyskać identyfikator użytkownika uwierzytelniania Laravel

0

Pytanie

Zrobiłem projekt Laravel I zainstalowałem pakiet Breeze dla wieloskładnikowego uwierzytelniania, A także Stworzył administratora nadzoru połączenia, aby kontrolować dostęp użytkowników do panelu monitorowania. Działa to doskonale. Oto trasa

Route::get('/dashbord',[AdminController::class, 'Dashbord'])
    ->name('admin.dashbord')
    ->middleware('Admin');

Route::get('/profile/edit',[AdminProfileSettings::class, 'index'])
    ->name('admin.profile.settings')
    ->middleware('Admin');

Oto intercooler oprogramowanie

public function handle(Request $request, Closure $next)
{
    if(!Auth::guard('admin')->check()) {
        return redirect()->route('login_form')->with('error','please Login First');
    }
    return $next($request);
}

Ten kod działa ok, ale problem w tym, że wchodzę w panel monitorowania i staram się wprowadzić identyfikator administratora w admin.profile.ustawienia trasy nie dostanie identyfikator, przekazałem zarejestrowany identyfikator administratora za pomocą kontrolera AdminProfileSettings, jak to

public function index()
{
    $id=Auth::user()->id;
    $adminData = Admin::find($id);
    return view('admin.admin_profile_settings',compact('adminData'));
}

Ale, gdy próbuję uzyskać do niego dostęp w admin.admin_profile_settings wypróbuj go, pokaż mi ten błąd:

Próba uzyskać identyfikator właściwości obiektu

Ale, jeśli używam $adminData = Admin::find(1); otrzymuje identyfikator, bez żadnych problemów, ale gdy próbuję uzyskać identyfikator użytkownika auth, to pokazuje mi błąd, i jeśli jestem zalogowany za pomocą ochrony domyślnie, błąd ten nie będzie wyświetlany, ale ona dostanie id z tabeli użytkowników

authentication breeze laravel
2021-11-23 18:30:07
1

Najlepsza odpowiedź

1

Nie używasz auth:admin intercooler oprogramowanie, więc Auth fasada zamierza wyprowadzić użytkownika z ochrony domyślnie, określonym w konfiguracji (która webjeśli tylko go nie zmienił).

Bez użycia auth:admin intercooler oprogramowanie, trzeba będzie podać ochronę, do której chcesz uzyskać użytkownika.

$adminUser = Auth::guard('admin')->user();

Uwaga 1: jeśli masz $request zmiennej, można również wyprowadzić użytkownika z $request z $request->user()zamiast zwracać się do elewacji Auth. To po prostu kwestia preferencji. To user() metoda przyjmuje również ochronę jako parametr, jeśli jest to konieczne.

$adminUser = $request->user('admin');

Uwaga 2: user() metoda (uwierzytelnianie i żądanie) zwraca w pełni wilgotnej model. Nie ma potrzeby, aby uzyskać identyfikator i ponownie pobrać model.

2021-11-23 20:59:44

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................