Cookie против x-auth-token с приложением, поддерживающим как RESTful, так и Интернет

Я пишу приложение, которое предоставляет некоторые службы через Интернет, а другие — как службы RESTful и использую Spring Security и Spring Session для аутентификации. и обработка сеанса. хотелось бы знать, нужно ли нам поддерживать как cookie(SESSION), так и x-auth-token или мы можем полностью избавиться от cookie для заголовка токена (зная, что spring outofbox поддерживает оба на основе согласования содержимого)


person Somasundaram Sekar    schedule 20.02.2016    source источник


Ответы (1)


Для веб-приложения вам, безусловно, нужна поддержка файлов cookie. Браузер не сможет отправить обратно x-auth-token самостоятельно (в отличие от отправки файлов cookie с каждым запросом). Точно так же и для API, cookie не лучший вариант по нескольким причинам.

Если вы хотите поддерживать и то, и другое, вы должны написать собственный HttpSessionStrategy, который должен инкапсулировать по одному экземпляру каждого из CookieHttpSessionStrategy и HeaderHttpSessionStrategy. На основе вашего шаблона URL-адреса, переданного в объекте HttpServletRequest (предполагая, что у вас есть детерминированный шаблон, по крайней мере, для части API), вы можете делегировать все три вызова из HttpSessionStrategy соответствующему вложенному объекту либо в HeaderHttpSessionStrategy (для вызовов API), или в CookieHttpSessionStrategy (для вызовов веб-браузера). Я использую что-то подобное в своей собственной настройке, и для этой цели он отлично работает.

Надеюсь, поможет!!

person Avnish    schedule 22.02.2016