Это одна из тех вещей, которые легче сказать, чем сделать.
Прошло много времени с тех пор, как я исследовал это, поэтому, пожалуйста, примите это с пониманием, что вам, возможно, понадобится устранить неполадки.
Для сеансов Java EE я думаю, что это немного проще, потому что вы можете вызывать invalidate () в сеансе. Но, к сожалению, это только половина дела. Вам действительно нужно решить несколько проблем. Они
Найдите способ сохранить любые существующие данные сеанса, которые вам нужны (сериализовать и сохранить)
Признать недействительным старый сеанс (возможно с сеансами Java EE и CF, но способ сделать это с сеансами CF недокументирован)
Истекают старые куки
Создать новую сессию
Скопируйте данные из старого сеанса, которые вы сохранили на шаге 1, в новый сеанс
Установка новых файлов cookie для нового сеанса
Это может показаться не слишком сложным, потенциально трудная часть делает это в одном запросе, поскольку обычно сеанс не создается до тех пор, пока не будет сделан запрос, а куки не установлены, пока не будет получен ответ.
Я думаю, что проще всего использовать Java EE, потому что вы можете вызвать invalidate () в старом сеансе и получить новый с помощью getRequestContext (). GetSession () (я верю, что это так, и я верю, что ТОЛЬКО работает с сеансами Java EE).
Я размышлял, как делать это с сеансами CF, и единственное, что я могу подумать, - это чтобы код, создающий новый сеанс, отправлял запрос CFHTTP на страницу на сайте, чтобы можно было создать новый сеанс. , Ответ CFHTTP будет содержать новый файл cookie, затем вы можете удалить старые файлы cookie и установить новый, используя тег.
Надеюсь, это поможет