Laravel аутентификация и "поддомен" - PullRequest
0 голосов
/ 27 апреля 2020

Я использую Laravel 5x и пытаюсь получить логин пользователя (например):

https://dev.example.com/example_authentication/public/login (это один экземпляр laravel)

и затем, когда я получаю доступ:

https://dev.example.com/mysecondwebsite/public (это еще один экземпляр laravel), я могу просто позвонить:

$user = Auth::user();

и затем получите, если это пользователь, admin, его имя и т. Д. c.

Я пытался добавить оба файла .env example_authentication и mysecondwebsite

SESSION_DOMAIN='.example.com'

но сеанс не сохраняется.

есть идеи о том, что происходит?

ОБНОВЛЕНИЕ:

Я использую во втором laravel приложении

$user = Auth::user();

по какой-то причине он генерирует свой собственный сеанс, для записи оба экземпляра одинаковы:

 'cookie' => 'vanguard_session'
  the same APP_KEY
  the same SESSION_DRIVER

Ответы [ 2 ]

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

Поэтому я не смог интегрировать первый сеанс проекта с последним, но нашел альтернативу с переменной $_SESSION:

, если вы хотите, чтобы эта переменная работала для обоих проектов, вы должны установить session_start(); в public / index. php в обоих проектах.

<?php
session_start();

после этого вы можете использовать переменную $ _SESSION на каждом контроллере, и это будет отображаться в любом веб-приложении PHP, установленном на вашем сервере. Я хотел использовать традиционный способ laravel, но мне не повезло, и об этом требовании не так много информации, поэтому вот альтернатива.

Вы можете использовать эту переменную, как эта, внутри любого контроллера, view или промежуточное ПО:

$_SESSION["setyourvarname"]="your value";

, затем на контроллере, представлении или промежуточном ПО вы можете просто

$myvariable = $_SESSION["myvarname"]
0 голосов
/ 30 апреля 2020

По умолчанию Laravel использует файловое хранилище сеансов. Для этого вам может понадобиться посмотреть хранилище сеансов базы данных или что-то еще: https://laravel.com/docs/5.8/session#configuration

Также для того, чтобы это работало, пользователь должен будет существовать в обоих приложениях Laravel, если они в одной базе данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...