Intereting Posts
Проверка Symfony2 с использованием аннотации Assert не работает Синтаксис массива в строке: Неинициализированная ошибка смещения строки Доступ к переменным среды, установленным с помощью mod_rewrite в PHP Морфинг от mysql до mysqli Ошибка в кодировке mysql -> Как я могу переконвертировать его в другое? Как использовать хранимые процедуры с Symfony и Doctrine Yii вложенный набор в выпадающее меню Почему меняет числовое значение с помощью number_format ()? Как найти самый большой массив из многомерного массива Какой самый простой способ в PHP создать ассоциативный массив из двух параллельных индексированных массивов? Как проверить, является ли URL-адрес внешним URL-адресом или внутренним URL-адресом с помощью PHP? Количество файлов в папке в php PHP memory_get_usage () на пустом скрипте PHP Является ли неправильная практика делать запрос Ajax непосредственно из плагина jQuery? Я просто не могу уничтожить сеанс в php

Персистентная сессия от ASP.NET до PHP

У меня есть форма входа в ASP.NET, которая создает сеанс при успешном входе в систему. Он использует POST.

Я хотел бы получить данные сеанса в конце PHP, но не знаю, как это сделать.

Имя сеанса – «CUSTOMER_LOGGED_IN».

Я использую «session_start ()» в заголовке моего PHP-шаблона, чтобы сохранить сеанс, но он не уверен, как отображать данные сеанса в моем PHP-шаблоне.

Может ли кто-нибудь помочь?

Большое спасибо за любые указатели.

Лучше всего выходить из сеанса proc, который хранит информацию о сеансе во внешнем хранилище, таком как база данных sql, к которой будут иметь доступ как ASP.NET, так и PHP.

Как упоминалось в thenetimp, вы не можете получить доступ к сеансу напрямую. Альтернативой cookies или файловой системе является база данных, так как вам не нужно хранить какую-либо клиентскую часть данных, и вам не нужно иметь дело с чтением / записью файлов в файловую систему.

У этого вопроса есть и другие хорошие решения.

Вам не хватает того, что сеансы выполняются на стороне сервера. Управление сеансом в asp.net будет отличаться от реализации php. Вам необходимо будет разработать механизм совместного использования данных сеанса, возможно, с помощью файлов cookie для проверки подлинности и хранилища сеансов с общим сервером.

Вам нужно будет найти способ сообщить asp.net и php, какой токен у пользователя есть. Теоретически вы бы

  • Войдите в систему на asp.net. Вы можете использовать сессионные mecahnisms, встроенные в asp.net, или делать все это вручную. Сессии – это просто хранилища данных, привязанные к клиенту с некоторыми токенами. Таким образом, ваша инициализация сессии даст вам некоторые токены аутентификации, которые должны быть доступны на стороне клиента как файлы cookie.
  • Храните данные сеанса в месте, где могут быть доступны как реализации php, так и asp.net, используя идентификатор сеанса для его индексации.
  • Передайте токены обратно к реализации php (через куки-файлы на стороне клиента)
  • Загружать данные из общего хранилища сеансов вручную или настраивать механизмы сеанса в php

Я должен признать, что это непросто. В любом случае, я думаю, что это попытка поделиться этой информацией. Я больше разбираюсь в php, чем о asp.net, но эти понятия переводится. В php вы можете использовать функцию session_set_save_handler (), чтобы переоценить работу сеансов. Это позволит вам хранить и извлекать сеансы из базы данных, что существенно, что вы будете делать.

На общих хостах я часто хранил сеансы в базе данных в целях безопасности. В идеале вы не хотите связываться с удаленной базой данных по каждому запросу, если вы можете ее избежать, поэтому я использую ее только для административных компонентов с очень небольшим количеством пользователей. Есть несколько учебных пособий, которые распространяются вокруг того, как достичь этого, которые могут быть настроены для использования различных механизмов экономии

Видеть:

http://www.devshed.com/c/a/PHP/Storing-PHP-Sessions-in-a-Database/

Вы также можете рассмотреть возможность шифрования всех данных сеанса на стороне asp.net, хранения этих данных на стороне клиента в качестве файла cookie, а затем php создать собственный сеанс, расшифровав зашифрованный файл cookie. Вы должны быть осторожны с подобными подходами, и это наверняка будет превышать https для доступа к php и asp.net.

Вы вообще ничего не упоминали о доменах. Если вы хотите аутентифицироваться в удаленном месте, это похоже на проверку подлинности CAS.

Надеюсь, что это несколько полезно, по крайней мере, указывая на то, что вы пытаетесь сделать. Возможно, кто-то, кто уже сделал это, сможет предложить более конкретные советы.

ASP и PHP хранят сеансы по-разному, поэтому вы не можете напрямую обращаться к ним. Вы можете зашифровать данные сеанса в файле cookie и передать cookie на php, используя секретный секрет.

Единственный другой способ – обмен файловой системой с файловой системой с ASP, а затем ее чтение с PHP, но это может стать беспорядочным, если обеим сторонам нужно писать одни и те же данные сеанса. поэтому я не рекомендую это в этом случае.