использовать фасад Auth, чтобы воспользоваться некоторыми из его функций.
Сначала я создаю промежуточное программное обеспечение для получения данных из API и их хранения. его в классе User, затем войдите в систему с фасадом Auth и продолжите работу с контроллером.
Я называю это AccountAuthen.php:
Код: Выделить всё
$contractInfo = [
'contract' => 'SGA123123',
'name' => 'John Doe',
];
$user = new \App\Http\User($contractInfo);
auth()->login($user);
return $next($request);
Код: Выделить всё
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
Мобильная версия