Кто-нибудь перенес Spring Security с 3.1.2 на 5.1.4

#spring #spring-security #spring-session

#spring #spring-security #весенняя сессия

Вопрос:

Команда

Просто пытаюсь перенести Spring Security с 3.1.2.RELEASE на 5.1.4.RELEASE. Мы используем конфигурацию на основе xml и проверяем, есть ли какие-либо ссылки, которые помогают мне в этом действии.

Я внес изменения и решил большинство проблем во время выполнения, за исключением приведенной ниже. Я полагаю, что он также не вызывает службу сведений о пользователе.

SecurityContextPersistenceFilter: с нетерпением созданный сеанс: a4931bcd-f260-4382-ad88-46237bed8fce 10:43:35,192 INFO [стандартный вывод] (http-/ 127.0.0.1: 8080-3) http-/127.0.0.1:8080-3 — [2019-03-15 10:43:35,192] — DEBUG — HttpSessionSecurityContextRepository: HttpSession вернул нулевой объект для SPRING_SECURITY_CONTEXT 10:43:35,192 INFO [стандартный вывод] (http-/127.0.0.1: 8080-3) http-/127.0.0.1:8080-3 — [2019-03-15 10:43:35,192] — DEBUG — HttpSessionSecurityContextRepository: Никакой SecurityContext не был доступен из HttpSession: org.springframework.session.web.http.SessionRepositoryFilter $ SessionRepositoryRequestWrapper $ HttpSessionWrapper @32436149. Будет создан новый.

Ниже приведена конфигурация, которую я ввел в наш код.

 <bean id="securityContextRepository"
    class="org.springframework.security.web.context.HttpSessionSecurityContextRepository" />
  

Ценю любую помощь по этому поводу. Заранее спасибо.

С уважением, Рави

Ответ №1:

Для первого шага, пожалуйста, обратитесь к Руководству по миграции для обновления Spring Security с 3 по 4. Тогда переход на Spring Security 5 — это довольно небольшой шаг и в основном касается переноса паролей.

Комментарии:

1. Большое вам спасибо за ответ. Фактически, я следовал той же документации для этой миграции. Все выглядит хорошо, но каким-то образом SecurityContext не сохраняется в сеансе.

2. Ниже приведены сведения о конфигурации, которые я привел в нашем коде. <идентификатор компонента=»securityContextFilter» class=»org.springframework.security.web.context.SecurityContextPersistenceFilter»> <ссылка на конструкторский аргумент=»securityContextRepository» /> <имя свойства=»forceEagerSessionCreation» value=»true» /> </bean> <идентификатор компонента=»securityContextRepository» class=»org. springframework.безопасность.веб.контекст.HttpSessionSecurityContextRepository» />

3. Не могли бы вы, пожалуйста, указать это в своем первоначальном вопросе, что у всех есть вся необходимая информация, необходимая, чтобы помочь вам?

4. Добавил детали в мой первоначальный вопрос.

5. Проблема, связанная с сессией, была решена. Кажется, мой модуль war не получил последние версии jar. Начал собирать все модули, затем он работал с той же конфигурацией.