gpt4 book ai didi

json - 基于 Spring 安全角色的 Jackson @JsonIgnore 字段

转载 作者:行者123 更新时间:2023-12-04 16:07:33 25 4
gpt4 key购买 nike

在我所有的 Spring REST Web 应用程序中,我有很多域对象和 DTO。

我需要根据发出请求的用户的 Spring 安全角色过滤一些域对象或 DTO 字段。我希望 Jackson 根据尝试访问资源的用户的 Spring GrantedAuthorities 角色过滤输出 JSON 以允许/禁止序列化特定的类字段。

我不能为每个不同的 View 组合创建新的 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
这是我试图解决几天的完全相同的问题。

到目前为止,我找不到一种干净的方法来做到这一点。

最佳答案

最好使用@JsonView在 Spring 项目中(example)

如果 @JsonView还不够,没有简单的解决方案。定义特定的类(接口(interface))来实现是不可避免的@JsonIgnoreProperties@JsonFilter (
看看Jackson: Skip Objects Conditionally )

关于json - 基于 Spring 安全角色的 Jackson @JsonIgnore 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35558218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com