Как получить Auth :: user () внутри контроллера, который вызывается функцией ajax - PullRequest
0 голосов
/ 25 июня 2019

У меня есть функция ajax, которая вызывает контроллер, указанный в api.php (route).

Внутри этого контроллера я пытаюсь создать журнал пользователя.Итак, мне нужно сохранить идентификатор пользователя в таблице журнала.Но, когда я пытаюсь получить доступ к какому-либо методу Auth::user(), даже входя в систему, я получаю исключение «Неаутентифицировано».

Я думаю, что отправка некоторой информации заголовка в функции ajax отсутствует.

Кто-нибудь может мне помочь, пожалуйста?

Ответы [ 3 ]

4 голосов
/ 25 июня 2019

Если я прав, api.php маршруты в laravel настроены на использование токенов, а не сессии.Это означает, что для каждого вызова потребуется передать токен (указанный в пользовательской модели / записи).

Использование Auth::user() в web.php будет работать, так как для аутентификации используются пользовательские сеансы.

0 голосов
/ 26 июня 2019

Вы можете попробовать это,

В своем файле Kernel.php добавьте свое собственное имя, например, "session", в $ middlewareGroups.Он должен содержать \ Illuminate \ Session \ Middleware \ StartSession :: class

Назначить сеансы тем маршрутам, которые вам нужны.

protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
    ],

    'api' => [
        'throttle:60,1',
    ],

    'sessions' => [
        \Illuminate\Session\Middleware\StartSession::class,
    ]
];

routs / api.php

Route::group(['middleware' => ['sessions']], function () {
    Route::resource(...);
});

Я думаю, это должно работать для вас

0 голосов
/ 25 июня 2019
<?php echo Auth::user() ?>


or {{Auth::user()->(id)}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...