Skip to content

Latest commit

 

History

History
30 lines (24 loc) · 1.67 KB

File metadata and controls

30 lines (24 loc) · 1.67 KB

Jackson Support

Spring Security provides Jackson support for persisting Spring Security-related classes. This can improve the performance of serializing Spring Security-related classes when working with distributed sessions (session replication, Spring Session, and so on).

To use it, register the SecurityJackson2Modules.getModules(ClassLoader) with ObjectMapper (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);
Note

The following Spring Security modules provide Jackson support:

  • spring-security-core ({security-api-url}org/springframework/security/jackson2/CoreJackson2Module.html[CoreJackson2Module])

  • spring-security-web ({security-api-url}org/springframework/security/web/jackson2/WebJackson2Module.html[WebJackson2Module], {security-api-url}org/springframework/security/web/jackson2/WebServletJackson2Module.html[WebServletJackson2Module], {security-api-url}org/springframework/security/web/server/jackson2/WebServerJackson2Module.html[WebServerJackson2Module])

  • spring-security-oauth2-client ({security-api-url}org/springframework/security/oauth2/client/jackson2/OAuth2ClientJackson2Module.html[OAuth2ClientJackson2Module])

  • spring-security-cas ({security-api-url}org/springframework/security/cas/jackson2/CasJackson2Module.html[CasJackson2Module])