(window.webpackJsonp=window.webpackJsonp||[]).push([[526],{956:function(e,t,a){"use strict";a.r(t);var r=a(56),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"jackson-支助"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#jackson-支助"}},[e._v("#")]),e._v(" Jackson 支助")]),e._v(" "),a("p",[e._v("Spring 安全性为持久化 Spring 与安全性相关的类提供了 Jackson 支持。这可以在使用分布式会话(即会话复制、 Spring 会话等)时提高序列化 Spring 安全相关类的性能。")]),e._v(" "),a("p",[e._v("要使用它,将"),a("code",[e._v("SecurityJackson2Modules.getModules(ClassLoader)")]),e._v("注册为"),a("code",[e._v("ObjectMapper")]),e._v("("),a("a",{attrs:{href:"https://github.com/FasterXML/jackson-databind",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jackson-数据库"),a("OutboundLink")],1),e._v("):")]),e._v(" "),a("p",[e._v("爪哇")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("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")])])]),a("p",[e._v("Kotlin")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("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")])])]),a("table",[a("thead",[a("tr",[a("th"),e._v(" "),a("th",[e._v("下面的 Spring 安全模块提供了 Jackson 支持:"),a("br"),a("br"),e._v("* Spring-security-core("),a("code",[e._v("CoreJackson2Module")]),e._v(")"),a("br"),a("br"),e._v("* Spring-security-web("),a("code",[e._v("WebJackson2Module")]),e._v(","),a("code",[e._v("WebServletJackson2Module")]),e._v(","),a("code",[e._v("WebServerJackson2Module")]),e._v(")"),a("br"),e._v('(<12"gt=">>(<10"/>r=“r=”10“>)r=“20”/>(<<>')])])]),e._v(" "),a("tbody")])])}),[],!1,null,null,null);t.default=s.exports}}]);