【发布时间】:2016-06-04 03:35:20
【问题描述】:
在我所有的 Spring REST Web 应用程序中,我有很多域对象和 DTO。
我需要根据发出请求的用户的 spring 安全角色过滤一些域对象或 DTO 字段。我希望 Jackson 根据尝试访问资源的用户的 Spring GrantedAuthorities 角色过滤输出 JSON 以允许/禁止序列化特定的类字段。
我不能为每个不同的视图组合创建新的 DTO,因为它会一团糟。
我找到了这个解决方案:
Spring 3.2: Filtering Jackson JSON output based on Spring Security role
但它不起作用,过滤器只应用一次,当第一个用户登录时。然后所有其他用户获得相同的过滤,无论他们的角色是什么。
在这篇博文中,我无法比 Ray Holland 更好地解释我的问题:
http://jackson-users.ning.com/forum/topics/jackson-custom-serialization
这是我试图解决几天的完全相同的问题。
到目前为止,我找不到一个干净的方法来做到这一点。
【问题讨论】:
-
创建多个具有不同视图的映射器,配置后会有帮助
标签: json spring serialization jackson