Выход из одного приложения приводит к разрушению сеансов во всех других веб-приложениях. Как это исправить?

1302
Stevo

У меня есть два веб-приложения, развернутые в корпоративной среде на IE6 / 8: приложение A использует проверку подлинности с помощью смарт-карты, приложение B - это просто стандартная проверка подлинности

Когда приложение A выходит из системы / де-аутентифицируется, кажется, что оно разрушает сеансы для приложения B и приводит к тому, что люди теряют работу и вынуждены снова входить в систему.

Приложение B основано на Cold Fusion. Не уверен, на чем основано приложение А.

У меня нет никакой дополнительной информации - но, если есть конкретные вопросы относительно характера заявок, пожалуйста, задавайте.

Есть ли решение, которое не включает Citrix / Virtualisation / два ПК и KVM-переключатель? ;-)

1
Они оба работают в одном домене? В этом случае они могут использовать один и тот же файл cookie, и когда вы выходите из него, файл cookie уничтожается. Majenko 13 лет назад 0

1 ответ на вопрос

1
Dan Short

Убедитесь, что ваши два приложения имеют разные имена в вашем Application.cfm/cfc. ColdFusion использует имя приложения (либо через, cfapplicationлибо this.name), чтобы определить, в какое приложение вошел пользователь. Если у них разные имена, у вас не должно быть проблем.

Привет, Дэн! У меня нет контроля над конфигурацией любого приложения - и только одно из них основано на Coldfusion, так что это не проблема Coldfusion. Когда приложение A (не CF) отменяет аутентификацию, оно уничтожает все сеансы для ВСЕХ веб-приложений. предположительно это просто стирает все куки? Stevo 13 лет назад 0
Как сказал Мэтт, если они находятся в одном домене, а приложение А уничтожает все файлы cookie, то да, оно уничтожит любую возможность для CF отслеживать этого пользователя. Поскольку вы не имеете дело с двумя CF-приложениями и не можете контролировать ни одну кодовую базу, то вы действительно застряли на этом ... Это не проблема браузера, которую вы можете контролировать, это все сервер. Dan Short 13 лет назад 0
Я проверю, но я не думаю, что они находятся в одном домене, поскольку приложения размещены в двух разных организациях ... и когда я говорю, что это уничтожает все куки, я имею в виду, что это уничтожает их для ВСЕХ сайтов, которые веб-браузер хранит куки, а не только те, которые размещены на нашем домене. Stevo 13 лет назад 0
Это противоречит всему, что я знаю о браузерах и куки. Куки по своей сути привязаны к домену, который их создает. Например, мой блог не может получить доступ к файлам cookie из вашего сеанса просмотра на «ilikestinkyfeet.com» ... Я даже не могу сказать, что у вас есть файлы cookie с этого домена (хорошо, что я бы сказал :-) , Теперь, если оба приложения находятся в одном TLD (app1.domain.com и app2.domain.com), файлы cookie можно записать так, чтобы они были доступны для разных доменов, но они должны иметь возможность использовать любой файл cookie, не являющийся частью их домена. состав. Dan Short 13 лет назад 0
И ты был бы прав. Я пошел и посмотрел на установку, и приложение A - это установленное настольное приложение с аутентификацией по смарт-карте. Поэтому, когда вы извлекаете смарт-карту, она убивает сеансы в активном браузере. Обходной путь, который кто-то пытался сделать, состоял в создании второго экземпляра IE, т.е. iexplore2.exe, но когда это активировало всплывающие окна (что важно для приложения B), они запускались в iexplore.exe. Какой беспорядок! Я предполагаю, что, поскольку это настольное приложение, у него есть доступ ко всему, что он хочет в ОС. Похоже, единственное, что можно исправить, это какой-то разработчик в приложении А. Stevo 13 лет назад 0