(window.webpackJsonp=window.webpackJsonp||[]).push([[175],{599:function(e,t,s){"use strict";s.r(t);var r=s(56),a=Object(r.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"jackson-support"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#jackson-support"}},[e._v("#")]),e._v(" Jackson Support")]),e._v(" "),s("p",[e._v("Spring Security provides Jackson support for persisting Spring Security related classes.\nThis can improve the performance of serializing Spring Security related classes when working with distributed sessions (i.e. session replication, Spring Session, etc).")]),e._v(" "),s("p",[e._v("To use it, register the "),s("code",[e._v("SecurityJackson2Modules.getModules(ClassLoader)")]),e._v(" with "),s("code",[e._v("ObjectMapper")]),e._v(" ("),s("a",{attrs:{href:"https://github.com/FasterXML/jackson-databind",target:"_blank",rel:"noopener noreferrer"}},[e._v("jackson-databind"),s("OutboundLink")],1),e._v("):")]),e._v(" "),s("p",[e._v("Java")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("ObjectMapper mapper = new ObjectMapper();\nClassLoader loader = getClass().getClassLoader();\nList modules = SecurityJackson2Modules.getModules(loader);\nmapper.registerModules(modules);\n\n// ... use ObjectMapper as normally ...\nSecurityContext context = new SecurityContextImpl();\n// ...\nString json = mapper.writeValueAsString(context);\n")])])]),s("p",[e._v("Kotlin")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("val mapper = ObjectMapper()\nval loader = javaClass.classLoader\nval modules: MutableList = SecurityJackson2Modules.getModules(loader)\nmapper.registerModules(modules)\n\n// ... use ObjectMapper as normally ...\nval context: SecurityContext = SecurityContextImpl()\n// ...\nval json: String = mapper.writeValueAsString(context)\n")])])]),s("table",[s("thead",[s("tr",[s("th"),e._v(" "),s("th",[e._v("The following Spring Security modules provide Jackson support:"),s("br"),s("br"),e._v("* spring-security-core ("),s("code",[e._v("CoreJackson2Module")]),e._v(")"),s("br"),s("br"),e._v("* spring-security-web ("),s("code",[e._v("WebJackson2Module")]),e._v(", "),s("code",[e._v("WebServletJackson2Module")]),e._v(", "),s("code",[e._v("WebServerJackson2Module")]),e._v(")"),s("br"),s("br"),e._v("* "),s("RouterLink",{attrs:{to:"/servlet/oauth2/client/index.html#oauth2client"}},[e._v(" spring-security-oauth2-client")]),e._v(" ("),s("code",[e._v("OAuth2ClientJackson2Module")]),e._v(")"),s("br"),s("br"),e._v("* spring-security-cas ("),s("code",[e._v("CasJackson2Module")]),e._v(")")],1)])]),e._v(" "),s("tbody")])])}),[],!1,null,null,null);t.default=a.exports}}]);