У меня есть приложение, которое использует управление сеансами coldfusion (вместо J2EE) управление сеансами.
У нас есть один клиент, который недавно переключил трафик их компании на нас для прибытия viaa прокси-сервера в их сеть.
Так, к нашему серверу Coldfusion кажется, что весь трафик прибывает из этого IP-адреса для всех учетных записей этой компании..
Из переменных сеанса Часть 1 сохранена в cflock, и Часть 2 сохранена в доступных для редактирования переменных сеанса. Я могу быть misundestanding, но мы сделали его этот путь, поскольку мы изменяем некоторые значения по мере необходимости в течение использования приложения.
Мы теперь сталкиваемся с проблемой этого клиента, перепутывающего их переменные сеанса (?). У нас есть один случай, где мы устанавливаем метку времени.. и когда это прибывает время для поиска его, это пусто. От взглядов его это происходит из-за другого пользователя на том же маркере.
Мои начальные мысли состоят в том, чтобы изучить изменение нашего существующего управления сеансами, чтобы так или иначе генерировать уникальный cftoken/cfid или начать использовать jsession_ID, если это решает проблему вообще.
Я провел некоторое фундаментальное исследование по этой проблеме и ничто не мог найти подобным, таким образом, я думал, что спрошу здесь.
Спасибо!
Я много лет сталкивался с подобными проблемами.
Похоже, что файлы cookie JSession помогают (точных данных об этом нет), но одно решение, которое я реализовал постоянно, - это использование заголовков без кеширования и истечения срока действия кеша на каждой странице.
http://www.bpurcell.org/blog/index.cfm?entry=1075&mode=entry дает некоторые особенности того, как это реализовать.
В крайних случаях мы были вынуждены передавать токен и cfid в ссылках / формах, но это PITA, который нужно реализовать, поэтому я сначала попробую решение для предотвращения истечения срока действия / предотвращения кеширования.
Насколько мне известно, нет никаких «минусов» в использовании переменных сеанса J2EE, если только вам действительно не нужно, чтобы сеанс был активным после того, как пользователь закрыл браузер. Я думаю, вам следует попробовать и посмотреть, как приложение ведет себя с ним, и посмотреть, избавит ли это вас от необходимости рефакторинга.
Чтобы убедиться, что вы используете все остальные настройки, попробуйте следующее:
<cfdump var="#APPLICATION.GetApplicationSettings()#" label="Application settings" />
Если у вас включены управление сеансом и клиентские файлы cookie, все в порядке, поэтому попробуйте переменные сеанса j2ee.