Как вы можете просматривать состояние сеанса ASP.NET на другой платформе, например PHP? - PullRequest
2 голосов
/ 29 марта 2009

Допустим, у меня есть веб-страница ASP.NET, а также блог PHP / BBS / Website. Я хочу, чтобы все входы выполнялись через веб-страницу ASP.NET. Состояние сеанса ASP.NET хранится в SQL. Можно ли как-нибудь прочитать / декодировать Session State из PHP, чтобы узнать, вошел ли пользователь в систему, если у меня есть файл cookie Session State?

Ответы [ 4 ]

1 голос
/ 30 марта 2009

Я не думаю, что есть поддерживаемый способ. Вы можете перепроектировать хранилище, но формат базы данных может измениться со следующим пакетом обновления .NET, и тогда вы будете испорчены.

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

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

0 голосов
/ 30 марта 2009

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

Таким образом, вы можете игнорировать большинство сложностей сеанса asp.net и просто выбирать и выбирать конкретные фрагменты данных, которыми ваши приложения должны делиться друг с другом.

0 голосов
/ 30 марта 2009

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

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

с другой стороны, я видел несколько сайтов, на которых после того, как вы вошли в систему, например, на основном сайте и хотите перейти на форумы, вы нажимаете на ссылку, которая отправляет форму на страницу входа php (учетные данные). «заточены» для этого пользователя в этом сеансе), и для входа на страницу php вам нравится «обычное» поведение.

надеюсь, что будет ясно

0 голосов
/ 30 марта 2009

Я никогда не пробовал этого, но если вы предоставили простой веб-сервис, который является частью вашего приложения asp.net, но доступен только с вашего сайта PHP. Теперь вы сможете читать все, что находится в сеансе, через веб-службу.

...