Я работаю над Spring 4 mvc
с базой данных mysql
, tomcat
. В принципе, я создаю пружинный остаток, который будет использоваться Angular JS
.Избегайте репликации сеанса в приложении Spring rest с помощью Cookies
Примечание: Я не использую Spring security
Для того, чтобы избежать репликации сеанса в случае clustered environment
, я использую cookie
approach.On логин, я генерирующий one unique session id
(using java UUID
) и использовать его для создания cookie
, а затем установите cookie в ответ. Также сохраните этот идентификатор сеанса в базе данных вместе с любыми пользовательскими данными.
Чтобы проверить подлинность каждого API для отдыха, я написал Spring interceptor
, который перехватит каждый вызов API для всех вызовов, который, в свою очередь, проверяет, есть ли файл cookie в запросе. Если он присутствует, я извлекаю значение идентификатора сеанса и использую он, делая вызов базы данных, чтобы проверить, действительно ли это или нет. При выходе из системы я удаляю файл cookie.
Основание на то, что я делаю, как описано выше, у меня есть несколько вопросов:
1) Is my approach correct? or do you see any flaw in it.
2) Let me know if there is any other better method to achieve the same i.e. to avoid session replication.
3) Since, I am not using any HTTP session, how do I achieve something like session-timeout or do i even need it?