Отправка HTTP-запроса POST - PullRequest
2 голосов
/ 24 июня 2009

Чтобы реализовать единый выход, я бы хотел, чтобы пользователь выходил из приложения B дополнительно, когда пользователь щелкает по выходу из приложения A. Возможно ли реализовать это, используя некоторую форму запроса POST к приложению B? т.е. когда пользователь нажимает на выход из системы:

  1. Создание существующего запроса POST для выхода из приложения A
  2. Сгенерировать дополнительный запрос POST для выхода из приложения B.

Ответы [ 6 ]

1 голос
/ 24 июня 2009

Самый простой способ сделать это - проверить, есть ли у вашего поставщика единого входа функция единого выхода.

Кодирование и его развертывание сделают ваше общее ИТ-решение немного ломким.

Еще одно предложение - обсудить это с вашим (Enterprise) архитектором, поскольку SSO обычно является инициативой предприятия, и указать ей (очень убедительные) аргументы в этом посте: http://lists.danga.com/pipermail/yadis/2005-July/001085.html

0 голосов
/ 03 июля 2009

Как насчет аутентификации на основе файлов cookie? Один и тот же файл cookie аутентифицирует пользователя для различных приложений (в вашем случае 2 разных приложения). Как только пользователь выходит из одного приложения (приложение A), он делает недействительным cookie (по дате истечения срока действия), так что каждый раз, когда пользователь отправляет запрос POST для отдыха заявки (приложение B) запрос не обрабатывается. Сервлет, который отслеживает каждый запрос POST для проверки cookie, необходим для каждого приложения.

0 голосов
/ 26 июня 2009

Если ваш сеанс входа в систему хранится в cookie-файле, и вам больше ничего не нужно предоставлять для выхода из приложения B, очистка cookie-файла в javascript обычно разрушает сеанс и выдает пользователя из системы.

0 голосов
/ 24 июня 2009

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

POST (без использования Javascript или аналогичного) происходят при отправке формы. Поскольку форма может иметь только одно действие, она может быть настроена только на одну страницу на стороне сервера.

Одно из решений состоит в том, чтобы просто получить учетные данные для выхода из приложения A для приложения B после получения одного действия, что дает больше возможностей для проверки возврата.

Если, однако, вы настроили POST'ing на разные страницы, посмотрите этот учебник для одного хака, связанного с iframe - http://www.codeproject.com/KB/scripting/multiact.aspx

0 голосов
/ 24 июня 2009

В зависимости от реализации вашей системы аутентификации, вероятно, вам может / нужно отправить POST с использованием JavaScript, а не со стороны сервера.

0 голосов
/ 24 июня 2009

Да, как вы это сделаете, зависит от языка программирования, который вы используете.

Например, в ASP.Net вы будете использовать System.Net.HttpWebRequest при обработке события Logout приложения A, чтобы сделать запрос на выход из приложения B

Если вы можете опубликовать, на каком языке вы работаете, я могу привести подходящий пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...