Пока вы не используете HTTPS, предложенный вами метод крайне небезопасен. Я бы предложил сгенерировать какой-либо токен сеанса (например, использовать java.util.UUID.randomUUID()
) и установить его как cookie и сохранить его где-нибудь на стороне сервера, чтобы позже вы могли идентифицировать пользователя, связанного с этим идентификатором сеанса, в cookie.
Это дает вам возможность сбросить определенный сеансовый файл cookie, если вы считаете, что происходит какое-либо мошенничество и нет прямой связи между именем пользователя / паролем и идентификатором cookie, который вы используете. Но обратите внимание: этот метод все еще уязвим для атаки «человек посередине».
Относительно истечения срока действия: да, файл cookie становится недействительным и может быть удален браузером, если срок его действия истек. Но вы можете установить cookie на что-нибудь в 3000-м году, чтобы оно продолжалось вечно.