java - @PostFilter 包含?

标签 java spring spring-security spring-data spring-data-jpa

这是我的实体类:

class ModelEntity {
  List<String> list;
  ...
}

现在我想发布过滤器返回的对象并仅返回列表包含“某物”的对象。这可能吗?如果是,该怎么做? 我相信它必须是这样的(ofc.改变“包含”):

@PostFilter("(filterObject.list contains 'something')")
List<ModelEntity> findAll()

最佳答案

我不认为 Spring 表达式引擎提供“包含”作为开箱即用的解决方案。

检查this Spring 安全表达式的链接。

但是您可以为此定义自己的自定义表达式处理程序。

在 Spring 中定义自定义表达式处理程序的方法有很多种。

  1. 通过实现PermissionEvaluator
  2. 通过实现MethodSecurityExpressionOperations

有关示例和更多说明,请关注 this博客。

关于java - @PostFilter 包含?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48419535/

相关文章:

java - 列不存在 - Hibernate ManyToMany 关联类

java - 从类到 B 类调用数组

java - 为什么我使用 result.getInt(2)/result.getInt(3) 和 result.getString(0)

java - 有没有一种简化的方法来从 Rust 调用 Java 函数?

java - 网页本地化方法

java - Spring Security 登录和注销

java - 扩展 SimpleUrlAuthenticationFailureHandler 会产生 404 和 No mapping found 警告

spring - Web 应用程序中的多线程和并行处理 - 需要建议

java - 如何让Jetty动态加载 "static"页面

java - 使用 HTTP Basic 和 OIDC Bearer Token 的 Spring Security 身份验证