Я обновил версию с 1.39 до 1.42 и изменил плагин redis с sa-token-redis на sa-token-redis-template-jdk-serializer.
Настроил следующие три пользовательских схемы сериализации String, по умолчанию используется json:
// SaManager.setSaSerializerTemplate(new SaSerializerTemplateForJdkUseBase64());
// SaManager.setSaSerializerTemplate(new SaSerializerTemplateForJdkUseHex());
// SaManager.setSaSerializerTemplate(new SaSerializerTemplateForJdkUseISO_8859_1());
Сериализация и хранение данных в redis прошли успешно, но при чтении кэша возникли ошибки.
Код:
StpUtil.login(sysUser.getId(), loginParameter);
// В этом месте возникает ошибка
SaSession session = StpUtil.getSession();
Как решить эту проблему, может ли потребоваться настроить схему сериализации String для пользовательских данных?
Для решения этой проблемы можно попробовать настроить схему сериализации String для пользовательских данных. Например, выбрать одну из предложенных схем сериализации и настроить её:
SaManager.setSaSerializerTemplate(new SaSerializerTemplateForJdkUseBase64());
или
SaManager.setSaSerializerTemplate(new SaSerializerTemplateForJdkUseHex());
или
SaManager.setSaSerializerTemplate(new SaSerializerTemplateForJdkUseISO_8859_1());
После этого попробуйте снова выполнить код и проверить, решается ли проблема. Если проблема сохраняется, возможно, потребуется более подробное исследование конфигурации и настроек сериализации.