Java 春休响应:安全吗?
使用spring数据aJava 春休响应:安全吗?,java,spring-boot,spring-data,Java,Spring Boot,Spring Data,使用spring数据a@RepositoryRestResource允许我对给定的@Entity类执行CRUD操作。这一切都令人印象深刻,但我如何才能添加一个安全层来防止任何人调用100万次插入URL?似乎,这个问题并不特定于Spring Data REST。如果您有任何允许向数据库添加数据的公共接口,那么您也会遇到同样的问题 但是,关于Spring数据REST,有(至少)两种可能性: 不要导出save(t)方法 使用@RestResource(exported=false)来防止Spring数
@RepositoryRestResource
允许我对给定的@Entity
类执行CRUD操作。这一切都令人印象深刻,但我如何才能添加一个安全层来防止任何人调用100万次插入URL?似乎,这个问题并不特定于Spring Data REST。如果您有任何允许向数据库添加数据的公共接口,那么您也会遇到同样的问题
但是,关于Spring数据REST,有(至少)两种可能性:
不要导出save(t)
方法
使用@RestResource(exported=false)
来防止Spring数据REST导出某些方法:
@RepositoryRestResource(path = "people", rel = "people")
interface PersonRepository extends CrudRepository<Person, Long> {
@Override
@RestResource(exported = false)
void save(Person person);
}
@RepositoryRestResource(path=“people”,rel=“people”)
接口PersonRepository扩展了Crudepository{
@凌驾
@RestResource(导出=假)
无效保存(人);
}
您仍然可以在代码中使用save(T)
方法,但REST无法使用该方法。有关更多详细信息,请参阅
使用Spring Security保护您的应用程序
要求用户在允许保存数据之前登录。SpringDataREST提供了一个示例,展示了如何使用SpringSecurity以多种方式保护SpringDataREST应用程序:您的意思是“防止”而不是“提供”?太好了!谢谢你的回答:)!