Получение результатов аутентификации в Laravel Custom Console Command - PullRequest
0 голосов
/ 19 апреля 2020

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

Auth::user();

Возвращается:

null

Эта команда не будет выполняться в моем приложении, из-за которого она дает:

null

Я получаю это, но затем я сделал Функция stati c внутри одной из моих моделей и возвращает идентификатор оттуда в мою функцию дескриптора команды консоли, тем не менее она дает мне Null любую идею о том, как я могу получить Auth запись в моей пользовательской консоли laravel команда. Любая помощь будет отличной.

Редактировать: Вот метод stati c, который я написал для получения идентификатора.

public static function getAuhtCode(){
    $code = Auth::user()->id;
    return $code;
}

1 Ответ

0 голосов
/ 19 апреля 2020

Вы можете использовать метод loginUsingId из сеанса защиты для ручной аутентификации пользователя благодаря идентификатору.

/**
     * Log the given user ID into the application.
     *
     * @param  mixed  $id
     * @param  bool  $remember
     * @return \Illuminate\Contracts\Auth\Authenticatable|false
     */
    public function loginUsingId($id, $remember = false)
    {
        if (! is_null($user = $this->provider->retrieveById($id))) {
            $this->login($user, $remember);

            return $user;
        }

        return false;
    }

Например

Auth::loginUsingId(1);
Auth::user(); //Will work
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...