Ведение сессии при переключении с разных портов

У меня есть личный кабинет на моем веб-сайте с портом 80 по умолчанию, на моем портале 8080 запущено пользовательское приложение под названием UserPort, когда пользователь переходит на UserPort, создается новый пустой сеанс (внутри которого нет имени пользователя). Можно ли как-нибудь сохранить тот же сеанс с порта 80 на порт 8080?

РЕДАКТИРОВАТЬ: Хорошо, поэтому я был направлен на следующий ответ для моей проблемы =Один и тот же идентификатор сеанса на том же IP-адресе, но на разных портах но код не объяснен хорошо, я помещаю первый сегмент кода с портом 110 на страницу области моего участника и помещаю второй сегмент на мою страницу UserPort?

3

Решение

Поскольку есть два разных сервера, вы не можете легко (как в готовом виде) совместно использовать сеанс. Однако вы можете сделать запрос из вашего приложения apache в ваше приложение торнадо, чтобы «подготовить» сеанс для пользователя. Затем, когда пользователь перенаправляется на UserPort, он должен получить что-то, чтобы идентифицировать себя. Из-за этого: Определен ли порт файлов cookie HTTP? использование файлов cookie ненадежно, поэтому, вероятно, подойдет одноразовый токен в URL.

Чтобы поместить его в очень упрощенный псевдокод:

// apache
$token = createRandomString();
call($tornadoAppUrl, $userData, $token);
$link = createUserPortLink($tornadoAppUrl, $token);
echo "<a href='$link'>go to UserPort</a>"
//tornado UserPort
$token =
$userData = getUserSession($token);
... act accordingly

Надеюсь, это понятно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]