[英]REST API security - how to secure it instead of sessionid
我有一個有關我的簡單REST API應用程序安全性的問題。 我實現了安全性檢查,並且每次嘗試從數據庫中讀取/更新數據(這是一個簡單的HttpSession session = request.getSession(true);並檢查-這是新會話還是舊會話,並且是否等於會話ID)來回餅干)。
但問題是-即使這是一個有效的用戶和有效的會話-我也得到了一個使用戶忽略其他用戶的URL:
http:// localhost:8080 / ChatRest / rest / FriendService / ignoreFriend / 1/2
我可以更改2個用戶ID(最后2個數字)並發送相同的請求,以使其他系統用戶忽略其他人,例如: http:// localhost:8080 / ChatRest / rest / FriendService / ignoreFriend / 3/4
我怎么解決這個問題? 我在Google上搜索了很多(例如-RESTful身份驗證和相關文章,包括安全性問題)。 但是解決這個問題的最簡單方法是什么? 我是一個初學者,所以我很樂意找到最簡單的解決方案。
謝謝!
只要用戶不共享相同的憑據,任何身份驗證機制都可以處理此問題。 即使使用Basic AUTH
,您也可以確定誰進行了身份驗證。
如果登錄用戶的id=1
,那么他可以執行http://localhost:8080/ChatRest/rest/FriendService/ignoreFriend/1/2
,但他不能忽略其他id
。 實際上,由於您是從數據庫中獲取用戶ID的,因此您甚至不需要第一個參數。 它將是ignoreFriend/2
,意思是“我想忽略我要作為參數提供其ID的人”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.