Я бы порекомендовал реализовать защиту J2EE. У вас не должно возникнуть проблем с использованием Struts.
См. Руководство по безопасности Oracle
Поскольку вы используете файлы cookie, вы заставляете клиента включить файлы cookie в своем браузере.
Вы можете, скорее, заставить пользователя войти в систему, используя (безопасность J2EE), когда он хочет использовать корзину, а затем сохранить только идентификатор JSESSION (контейнер по умолчанию) в клиентском браузере (пользователю не нужно проходить аутентификацию для создать сеанс).
Если вы предоставите тайм-аут сеанса 30 минут и сохраните всю информацию о клиенте в сеансе, она будет храниться на сервере и удаляться в случае исчезновения клиента.
Можно отключить Cookies в браузере, но сервер может распознавать клиента. См. J2EE Spec