![](/img/trans.png)
[英]Do I need to add a large number of “checks” in order to prevent users from modifying data they shouldn't be able to in a RESTful application?
[英]How to prevent users from modifying other users' data?
場景:一個圖片分享網站,允許用戶上傳圖片。 用戶可以刪除或編輯他們的照片。 刪除和編輯方法是 Post 方法。 這些方法使用照片 ID 來定位照片並對其進行修改。 照片是通過當前經過身份驗證的用戶信息獲取的,例如: SecurityContextHolder.getContext().getAuthentication();
那么如果用戶 A 想要刪除用戶 B 的照片 ID,A 用 JavaScript 編寫了一個 post 方法並刪除用戶 B 的照片怎么辦。
那可能嗎? 還是這種做法有問題?
您需要編寫一個允許基於權限刪除的服務層。
這將防止用戶刪除他們不應該刪除的資產。
每個請求都會驗證這一點,以確保無權刪除斜線的用戶。
這完全取決於您的域如何管理權限,如果資產具有特定所有者,那么您可以使用SecurityContextHolder
,否則您需要實現自己的邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.