我有一個頁面:安全JPA在遊戲框架結合
<input type="hidden" name="user.id" value="123" />
<input type="text" name="user.name" value="John" />
和動作:
public static void save(User user) {
user.save();
}
播放加載從數據庫由user.id參數的用戶實體,結合HTTP參數該對象和動作將其保存。
這是確定的像管理可信用戶,但不信任的用戶可以更改HTTP參數:
?user.id=456&user.name=John
,因此編輯不同的實體。
我檢查用戶是否已更改user.id通過將user.id也放入會話,然後驗證其是否相等。這樣可以正常工作,因爲會話已簽名且無法修改,但我怎樣才能輕鬆地檢查頁面上的多個實體 - 例如在進行批量更新時?或者只是在默認情況下應用程序範圍內?
我不想把20個ID放到會話中,然後檢查每個ID是否等於HTTP參數。我想到了一個解決方案。我會把一個簽名的id作爲一個令牌給每個實體,並在綁定過程中檢查它。你將如何實現這一點?
checkAuthenticity僅檢查真實性令牌不id的修改和其旨在防止[CSRF](http://wikipedia.org/wiki/Cross-site_request_forgery)。你的第二個建議會解決它,但它需要更多的編碼。我正在尋找應用範圍廣泛的解決方案。 – Pavel