当前位置: 代码迷 >> java >> Spring Rest Repository:安全吗?
  详细解决方案

Spring Rest Repository:安全吗?

热度:49   发布时间:2023-07-31 12:03:06.0

使用spring-data, @RepositoryRestResource允许我对给定的@Entity类执行CRUD操作。 一切都很神奇,但是我该如何添加安全层以防止有人拨打插入URL数百万次?

看来,此问题并非特定于Spring Data REST。 如果您有任何允许将数据添加到数据库的公共接口,那么您将遇到相同的问题。

但是,关于Spring Data REST,(至少)有两种可能性:

不要导出save(T)方法

使用@RestResource(exported = false)可以防止Spring Data REST完全导出某些方法:

@RepositoryRestResource(path = "people", rel = "people")
interface PersonRepository extends CrudRepository<Person, Long> {

  @Override
  @RestResource(exported = false)
  void save(Person person);

}

您仍然可以在代码中使用save(T)方法,但无法通过REST使用。 有关更多详细信息,请参见 。

使用Spring Security保护您的应用程序

要求用户登录后才能保存数据。 Spring Data REST提供了一个示例,展示了如何通过Spring Security以多种方式保护Spring Data REST应用程序:

  相关解决方案