Если вы используете несколько серверов приложений (сейчас или в будущем), я считаю, что переменная сеанса http зависит от сервера, на котором работает пользователь (поправьте меня, если я ошибаюсь), поэтому в этом случае вы можетенайдите решение «липкого сеанса», которое блокирует пользователя на конкретном сервере (например, балансировщики нагрузки EC2 предлагают следующее: http://aws.amazon.com/about-aws/whats-new/2010/04/08/support-for-session-stickiness-in-elastic-load-balancing/).
Я рекомендую использовать куки-файл (при условии, что моя логика выше верна), но вы должны убедиться, что у вас есть какая-то мера безопасности, чтобы пользователи не могли изменить свой cookie и получить доступ к учетной записи другого пользователя.Например, вы можете хешировать некоторую строку с секретным ключом и идентификатором пользователя, который вы проверяете на стороне сервера, чтобы убедиться, что он не был подделан.