2011-11-24 111 views
0

語境:Web應用程序 - 爪哇,Spring MVC的,春季安全策略在Java Web應用程序管理用戶的操作

的不是透明的,我是什麼樣的信息存儲/如何執行的Web應用程序的某些行爲(唐考慮當然沒有考慮密碼),例如我可以:

  1. 檢索用戶(數據庫請求)並將用戶詳細信息存儲在會話中。
  2. 只需檢索用戶標識(數據庫請求)並將其存儲在會話中並在需要時將其提取到DAO。將用戶ID保存在會話中安全嗎?
  3. 請求範圍。不要在會話中存儲任何東西(當然,春天仍然存儲安全細節)如果用戶請求動作 - 確定是否已驗證(?+角色),確定其id(數據庫請求),將其提取到DAO。如果用戶再次請求此操作,則必須重複步驟。

假設我的db表總是有int id作爲主鍵。登錄名稱是唯一的。請不要侷限於我的3種方法,這些都是非常簡單的例子,我說的是數據存儲/持久化(請不要將ORM與這個詞聯繫起來),它是數據庫請求的組合,用於DTO在Web應用程序的服務器端。

我認爲我在會話(或跨請​​求)中存儲的更多細節越容易管理它,並且對數據庫的請求也越少。如果我將這些細節保存在不能識別特定用戶的表單中,那麼應該沒有問題?例如,如果我存儲「id = 5; fruit_id [] = 1,4,7;(對不起,如果語法錯誤)在會話中說」,它確實沒有確定是否安全性被破壞?

回答

1

您的問題有點模糊,只能根據確切的細節正確回答。但是,通常在會話中存儲用戶詳細信息(包括用戶標識)是很好的。可能是一個User對象,用於鏡像你的數據庫用戶表中的任何字段/細節。存儲認證級別或角色也是可以的。當然你也不應該在會話中存儲太多的數據

相關問題