簡體   English   中英

在Rest API中安全更新對象

[英]Safe updating object in rest api

我創建了REST API:

/ api / address上的GET metohd返回當前登錄用戶的地址。 然后,用戶可以編輯一些數據,並通過POST將已編輯的json發送到/ api / address。 但是,用戶也可以只發送預先設置的json來省略api來保留api。

例如:

{id:2, street: Madison, flatNumber: 14}

然后在AddressService中:

public void updateUser(AddressDto address) {
  repository.findOneById(address.getId()).ifPresent(a -> {
    a.setFlatNumber(address.getFlatNumber());
    respository.update(a);
  });
}

但是用戶可以發送准備好的具有不同ID的json。 並編輯不屬於他的地址。 如何預防這種情況?

我想確定用戶是否只能更新其數據。 我是否應該每次檢查實體是否與登錄用戶有關?

updateUser方法中,修改代碼以根據用戶提取記錄。

repostiory.findAddressByUserAndId(user, address.getId())

如果每個用戶只需要一個地址,請考慮使用該用戶作為地址記錄的ID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM