features-integrations-jackson.md 1.8 KB
Newer Older
dallascao's avatar
dallascao 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
# Jackson 支助

Spring 安全性为持久化 Spring 与安全性相关的类提供了 Jackson 支持。这可以在使用分布式会话(即会话复制、 Spring 会话等)时提高序列化 Spring 安全相关类的性能。

要使用它,将`SecurityJackson2Modules.getModules(ClassLoader)`注册为`ObjectMapper`[Jackson-数据库](https://github.com/FasterXML/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);
```

Kotlin

```
val mapper = ObjectMapper()
val loader = javaClass.classLoader
val modules: MutableList<Module> = SecurityJackson2Modules.getModules(loader)
mapper.registerModules(modules)

// ... use ObjectMapper as normally ...
val context: SecurityContext = SecurityContextImpl()
// ...
val json: String = mapper.writeValueAsString(context)
```

|   |下面的 Spring 安全模块提供了 Jackson 支持:<br/><br/>* Spring-security-core(`CoreJackson2Module`)<br/><br/>* Spring-security-web(`WebJackson2Module``WebServletJackson2Module``WebServerJackson2Module`<br/><12"gt=">>(<10"/>r=“r=”10“>)<gt="/>r=“20”/>(<<<gt="r="r="11">>|
|---|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|