Я хотел бы настроить механизм для отслеживания каждого пользовательского сеанса http, основанного на использовании объекта Cookie. Поэтому хранить идентификатор пользователя в Cookie, который я буду общаться, то клиенту в теле ответа (после того, как процесс Войти успешно), такие как:Как получить соответствующий HttpSession на основе Cookie
Cookie loginCookie = new Cookie("userId", userId);
httpServletResponse.addCookie(loginCookie);
У меня есть получили три вопроса пожалуйста:
1) Как получить заданный пользовательский сеанс http на основе его Cookie? Должен ли я хранить JSESSIONID
вместо userId для этой цели?
2) Шифрование файла cookie пользователя не будет препятствовать тому, чтобы cookie был взломан каким-либо злоумышленником, подслушивающим связь между клиентом и сервером. Таким образом, злоумышленник может повторно использовать файл cookie, чтобы запросить сервер как фактического пользователя, так как тот же куки-файл передается каждый раз, когда пользователь запрашивает сервер. Я действительно не вижу, где может помочь шифрование cookie. Должен ли я использовать алгоритм цифровой подписи, чтобы проверить подлинность отправителя?
Благодарим за предоставленный вам быстрый ответ. Что касается первого пункта, как я должен установить связь между идентификатором сеанса и идентификатором пользователя? Моя цель, как я сказал, - это получить сеанс, соответствующий данному пользователю. –
Вы знаете, что идентификатор сеанса принадлежит определенному пользователю в определенном браузере, потому что у него есть файл cookie. Вы можете проверить, какой именно пользователь, проверив идентификатор пользователя в состоянии сеанса. –