Jackson 支持
Spring Security 提供了 Jackson 支持,用于持久化与 Spring Security 相关的类。这可以在处理分布式会话(如会话复制、Spring Session 等)时提高序列化 Spring Security 相关类的性能。
要使用它,请使用 ObjectMapper
注册 SecurityJackson2Modules.getModules(ClassLoader)
(jackson-databind):
ObjectMapper mapper = new ObjectMapper();
ClassLoader loader = getClass().getClassLoader();
List<Module> modules = SecurityJackson2Modules.getModules(loader);
mapper.registerModules(modules);
// ... use ObjectMapper as normally ...
SecurityContext context = new SecurityContextImpl();
// ...
String json = mapper.writeValueAsString(context);
备注
以下 Spring Security 模块提供了 Jackson 支持:
-
spring-security-core(CoreJackson2Module)
-
spring-security-web(WebJackson2Module、WebServletJackson2Module、WebServerJackson2Module)
-
spring-security-cas(CasJackson2Module)