У вас есть два варианта:
После подтверждения входа загрузить пиксельное изображение с URL-адресом вашего второго домена (субдомена) EX:
echo "< img href = ' https://sub.example.com ' />"
В обоих вариантах вы должны запустить скрипт на своем втором домене (поддомене), чтобы установить сеанс
Обновление
Пример установить сеанс:
У вас есть два варианта:
- После подтверждения входа в систему, перенаправить на второй домен (поддомен) и установить там сеанс тоже
-
После подтверждения входа загрузить пиксельное изображение с URL-адресом вашего второго домена (субдомена) EX:
echo "< img href = ' https://sub.example.com ' />"
В обоих вариантах вы должны запустить скрипт на своем втором домене (поддомене), чтобы установить сеанс
Обновление
Пример установить сеанс:
[110] Обновление 2
Передача электронной почты и пароля между доменами (поддоменами) не рекомендуется, это небезопасно, но вы может устанавливать cookie или сеанс для идентификации электронной почты и пароля с уникальным идентификатором, который может передаваться между доменами (поддоменами)
SESSION['login'] = $id;
Обновление 2
Передача электронной почты и пароля между доменами (поддоменами) не рекомендуется, это небезопасно, но вы может устанавливать cookie или сеанс для идентификации электронной почты и пароля с уникальным идентификатором, который может передаваться между доменами (поддоменами)
Если бы это было в Linux, проблема была бы в том, что localhost - это петлевой интерфейс , который необходимо приложению для привязки к сетевому интерфейсу .
Вы можете использовать netstat для подтверждения того, что он не связан с ожидаемым сетевым интерфейсом.
Вы можете выполнить эту работу, вызвав программу с системным параметром java.rmi.server.hostname = "YOUR_IP"
, либо в качестве переменной среды, либо с помощью
java -Djava.rmi.server.hostname=YOUR_IP YOUR_APP
похоже, что ваша финальная цитата звучит слишком рано. Он должен быть после последнего параметра.
У меня этот трюк сработал.
Я заметил кое-что интересное: когда я запускаю свое приложение с помощью следующей командной строки:
java -Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Если я пытаюсь подключиться к этому порту с удаленной машины с помощью jconsole, TCP-соединение устанавливается успешно, некоторые данные обмениваются между удаленной jconsole и локальный агент jmx, в котором развернут мой MBean, а затем jconsole отображает сообщение об ошибке подключения. Я выполнил захват Wirehark, и он показывает, что обмен данными происходит как от агента, так и от jconsole.
Таким образом, это не проблема сети, если я выполняю netstat -an с системным свойством java.rmi.server.hostname или без него, у меня будут следующие привязки:
TCP 0.0.0.0:9999 0.0.0.0:0 LISTENING
TCP [::]:9999 [::]:0 LISTENING
Это означает, что в обоих случаях был создан сокет на порт 9999 принимает соединения с любого хоста по любому адресу.
Я думаю, что содержимое этого системного свойства используется где-то при соединении и сравнивается с фактическим IP-адресом, используемым агентом для связи с jconsole. И если эти адреса не совпадают, соединение не устанавливается.
У меня не было этой проблемы при подключении с одного и того же хоста с помощью jconsole, только с реальных физических удаленных хостов. Итак, я предполагаю, что эта проверка выполняется только тогда, когда соединение идет "извне".