gpt4 book ai didi

java - Spring Rest存储库: is it safe?

转载 作者:行者123 更新时间:2023-12-02 04:30:40 25 4
gpt4 key购买 nike

使用 spring-data,@RepositoryRestResource 允许我对给定的 @Entity 类执行 CRUD 操作。一切都令人印象深刻,但我如何添加安全层来防止任何人调用插入 URL 一百万次?

最佳答案

看来,这个问题并不是 Spring Data REST 特有的。如果您有任何允许将数据添加到数据库的公共(public)接口(interface),您也会遇到同样的问题。

但是,对于 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 使用该方法。请参阅the reference documentation了解更多详情。

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

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

关于java - Spring Rest存储库: is it safe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31499412/

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