В веб-приложении, основанном на пропрайтинге MVC и модели авторизации, мы недавно перешли на Spring MVC.
В рамках этого шага мы также рассматриваем отход от локально созданного GUID, который передается с каждым запросом в идентификатор сеанса на основе файлов cookie.
На первый взгляд, похоже, что в нашем случае это будет большим недостатком, так как стандарт JSESSION / HttpSession, по-видимому, является корнем всех зол безопасности:
- Фиксация сессии (В существующем коде сессия создается только после успешного входа в систему, поэтому нам никогда не нужно аннулировать () сессии.
- CSRF - Сессия никогда не передается как cookie, так что это никогда не является риском (и, боже, с этим проблематично обращаться, так как нет реальных рамок или общего решения, проверенных HDIV и CSRFGuard).
- Удобство тестирования - QA может легко подключать к одному серверу нескольких пользователей с несколькими ролями, что невозможно с JSESSION.
- В согласованном создании HTTPSession и аннулирования в различных контейнерах (Weblogic, JBOSS и Websphere)
- Несовместимая обработка JSession при переходе от HTTP к HTTPS.
Итак, кроме очевидного преимущества "быть стандартным", есть какие-либо подсказки относительно того, почему я хочу пойти по пути JSESSION?