Это, безусловно, возможно, но вам нужно грязное кодирование , чтобы сделать.
Фактически и ASP.NET, и PHP Session
s создают программный уровень, который скрывает механизмы, используемые для обработки и проверки сеансов.
Вы можете просто определить общий cookie-файл между двумя приложениями (убедитесь, что вы подписали его или сохраните в общей БД), а затем использовать собственную настраиваемую логику для связи сеанса ASP.NET с PHP.
База данных - отличный вариант. Я бы порекомендовал вам определить собственный класс диспетчера сеансов в Web.config и сделать так, чтобы он записывал данные сеанса в общую БД, откуда будет загружаться PHP.
Но я не знаю, как написать собственный менеджер сессий PHP. Вы можете использовать пользовательский код PHP на странице init для инициализации сеанса на основе данных, найденных в БД.
Итак, ваше заявление будет состоять из трех вещей:
- ASP.NET part
- PHP part
- Общая база данных
Простой сценарий использования:
- Пользователь выполняет вход в ASP.NET
- ASP.NET проверяет логин, устанавливает cookie с известным именем и вставляет в базу данных строку со значением cookie (и, возможно, IP-адрес для безопасности)
- Пользователь перемещается по сайту PHP, передающему cookie
- PHP проверяет cookie по таблице и, возможно, инициализирует собственный сеанс
Более сложные конструкции могут на самом деле обмениваться данными сеанса между PHP и ASP.NET с использованием одной таблицы базы данных И без локальной памяти.