0
我創建了休息api:安全更新休息api中的對象
GET metohd on/api/address返回當前登錄用戶的地址。然後用戶可以編輯一些數據並通過POST將編輯後的json發送到/ api/address。但用戶也可以發送preapred json來休息api,省略UI。
例如:
{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。並編輯不屬於他的地址。如何防止這種情況?
我想確定用戶是否只能更新他們的數據。我是否應該每次檢查實體是否與登錄用戶有關?
感謝您的回答。實際地址實體只是一個簡單的例子。在我的應用程序中,我有更復雜的實體關係。你提出的想法很好。老實說,我希望有更優雅的解決方案。所以如果任何更好的解決方案在一段時間內不會出現,我會接受這個答案。 – Kamil