Безопасность Spring и общие сессии между двумя службами - PullRequest
0 голосов
/ 30 августа 2018

У меня есть служба авторизации (которая выполняет аутентификацию LDAP и авторизацию БД). - использует весеннюю безопасность и редис весенней сессии Иметь сервис данных, который использует сервис аутентификации для аутентификации / управления сеансом. - использует Redis сессию Spring и Spring Security (использует пользовательский поставщик аутентификации для вызова службы аутентификации через клиента Feign)

Таким образом, при использовании входа в систему он попадает в конечную точку auth-service / user и возвращает идентификатор сеанса. Когда я использую тот же идентификатор сеанса для конечной точки в службе данных, я получаю ошибку ниже

Неисследованное исключение org.springframework.data.redis.serializer.SerializationException: Невозможно десериализовать; Вложенным исключением является org.springframework.core.serializer.support.SerializationFailedException: не удалось десериализовать полезную нагрузку. Является ли байтовый массив результатом соответствующей сериализации для DefaultDeserializer ?; вложенным исключением является org.springframework.core.NestedIOException: не удалось десериализовать тип объекта; Вложенное исключение - java.lang.ClassNotFoundException: XXX (сущность в сервисе аутентификации)

Redis детали 127.0.0.1:6379> KEYS * 1) "spring:session:sessions:expires:ff3705e1-7403-48dc-a026-4b71d4c847f1" 2) "spring:session:index:org.springframework.session.FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME:xxxx" 3) "spring:session:sessions:ff3705e1-7403-48dc-a026-4b71d4c847f1" 4) "spring:session:expirations:1535652420000" 127.0.0.1:6379> Спасибо

...