Я пишу приложение, которое предоставляет некоторые службы через Интернет, а другие — как службы RESTful и использую Spring Security и Spring Session для аутентификации. и обработка сеанса. хотелось бы знать, нужно ли нам поддерживать как cookie(SESSION), так и x-auth-token или мы можем полностью избавиться от cookie для заголовка токена (зная, что spring outofbox поддерживает оба на основе согласования содержимого)
Cookie против x-auth-token с приложением, поддерживающим как RESTful, так и Интернет
Ответы (1)
Для веб-приложения вам, безусловно, нужна поддержка файлов cookie. Браузер не сможет отправить обратно x-auth-token самостоятельно (в отличие от отправки файлов cookie с каждым запросом). Точно так же и для API, cookie не лучший вариант по нескольким причинам.
Если вы хотите поддерживать и то, и другое, вы должны написать собственный HttpSessionStrategy, который должен инкапсулировать по одному экземпляру каждого из CookieHttpSessionStrategy и HeaderHttpSessionStrategy. На основе вашего шаблона URL-адреса, переданного в объекте HttpServletRequest (предполагая, что у вас есть детерминированный шаблон, по крайней мере, для части API), вы можете делегировать все три вызова из HttpSessionStrategy соответствующему вложенному объекту либо в HeaderHttpSessionStrategy (для вызовов API), или в CookieHttpSessionStrategy (для вызовов веб-браузера). Я использую что-то подобное в своей собственной настройке, и для этой цели он отлично работает.
Надеюсь, поможет!!