Фасад аутентификации с пользовательскими данными не является постояннымPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Фасад аутентификации с пользовательскими данными не является постоянным

Сообщение Anonymous »

У меня есть массив данных из API, который я хочу использовать во всем проекте. Я знаю, что могу использовать сеанс, но я хочу
использовать фасад Auth, чтобы воспользоваться некоторыми из его функций.
Сначала я создаю промежуточное программное обеспечение для получения данных из API и их хранения. его в классе User, затем войдите в систему с фасадом Auth и продолжите работу с контроллером.
Я называю это AccountAuthen.php:

Код: Выделить всё

$contractInfo = [
'contract' => 'SGA123123',
'name'     => 'John Doe',
];
$user = new \App\Http\User($contractInfo);
auth()->login($user);
return $next($request);
Во-вторых, я создаю класс User:

Код: Выделить всё

use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Auth\Authenticatable;

class User implements AuthenticatableContract
{
use Authenticatable;

protected $contract;

public function __construct($data = [])
{
$this->contract = $data ?? null;
}

// Các phương thức bắt buộc của AuthenticatableContract
public function getAuthIdentifierName()
{
return 'contract';
}

public function getAuthIdentifier()
{
return $this->contract;
}
}
Наконец, я пытаюсь получить данные в контроллере:
auth()->user()->contract;
Проблема в том, что я могу получить данные только в контроллере с промежуточным программным обеспечением, если в другом контроллере без промежуточного программного обеспечения он возвращает ноль. Я ожидал, что смогу получить данные по всему проекту.
Можете ли вы дать мне несколько советов, как решить эту проблему? Спасибо большое.

Подробнее здесь: https://stackoverflow.com/questions/793 ... persistent
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»