Проблема с десериализацией классов Spring SecurityJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с десериализацией классов Spring Security

Сообщение Anonymous »

Я пытаюсь сделать снимок экземпляра аутентификации. (Это для запланированного задания Quartz.) Согласно документации, я регистрирую SecurityJackson2Modules в своем сопоставителе объектов. Это отлично работает как для сериализации, так и для десериализации, если я использую ванильный ObjectMapper. Однако если я использую автоматически настроенный Spring, я получаю исключение при десериализации из класса PreAuthenticatedAuthenticationToken, а именно в этом объекте:

Код: Выделить всё

{"@class":"org.springframework.security.core.authority.SimpleGrantedAuthority","authority":"ROLE_Corporate_CLIENT"}
В рабочем случае это правильно десериализуется в SimpleGrantedAuthority, а в нерабочем случае это приводит только к HashMap. Судя по всему, в обоих случаях зарегистрирован миксин SimpleGrantedAuthority, который должен обрабатывать этот фрагмент JSON, однако по какой-то причине он не срабатывает в случае автонастройки Spring.
Поэтому должно быть может быть какая-то принципиальная разница в способе настройки Spring и vanilla ObjectMapper. Проблема в том, что я понятия не имею, как отладить такого рода проблемы. Я попытался вручную зарегистрировать в ванильном картографе те же модули, что и в моем автоконфигурированном, но десериализация все равно продолжала работать. После этого у меня закончились идеи.
Вот явная конфигурация ванильного картографа:

Код: Выделить всё

        val modules = SecurityJackson2Modules.getModules(loader)
val mapper = ObjectMapper().registerKotlinModule()
mapper.registerModules(modules)
Показать конфигурацию сопоставителя Spring сложнее, потому что, очевидно, я не настраиваю его сам, поэтому лучшее, что я могу сделать, это показать соответствующие (я думаю) части сопоставителя из отладчик:
Изображение

Изображение


Подробнее здесь: https://stackoverflow.com/questions/784 ... ty-classes
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Spring Boot 3.3.2 с проблемой Spring Security 6.3.1 (нет поддержки auth0-spring-security-api с Spring Framework 3.3.2)
    Anonymous » » в форуме JAVA
    0 Ответы
    95 Просмотры
    Последнее сообщение Anonymous
  • BCrypt в моем проекте Spring Security (Spring Security)
    Anonymous » » в форуме JAVA
    0 Ответы
    54 Просмотры
    Последнее сообщение Anonymous
  • Как правильно управлять привязкой данных и сериализацией/десериализацией BitmapImage?
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Проблема с сериализацией и десериализацией в Polenter SharpSerializer
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Проблема с правильной десериализацией API REST.
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»