Моим первым предложением было бы потребовать captia для доступа к потоку. Если это не вариант, вы можете установить короткое время сеанса на первом шаге веб-потока, а затем сбросить его на что-то более длинное на третьем этапе. Примером является
шаг первый
session.setMaxInactiveInterval(60);
шаг три
session.setMaxInactiveInterval(600);
Это приведет к тому, что любой сеанс на первом или втором шаге умрет после 60 секунд бездействия. Когда сеанс умирает, любые сеансы гибернации, связанные с сеансом, будут очищены. Если пользователь выполнит шаги один и два менее чем за 60 секунд, у него будет 10 минут для завершения каждого дополнительного шага.