2009-07-03 104 views
0

我使用自己的UserDetailsS​​ervice接口實現從數據庫加載用戶對象,並將其作爲UserDetail放入我的SecurityContext中。 User對象是一個分離的Hibernate對象。Spring Security UserDetails最佳實踐

當我想訪問經過身份驗證的用戶的延遲加載關係時,我需要從SecurityContext獲取它,並通過加載其ID或合併將它重新附加到Hibernate會話中。

你在哪裏通常在Spring MVC或Spring WS應用程序中執行此操作?在Controller中,這意味着我必須將UserDAO注入其中,或者將ID傳遞給Service層以將其加載到那裏?

回答

3

這些都不屬於控制器。把它放在服務層。

控制器真的是視圖的一部分。如果您更改視圖技術,則不應改變服務的正確操作。把它放在那裏,並在控制器注入服務。

出於同樣的原因,DAOs不屬於控制器。