我有一個基於Spring MVC的應用程序,它使用Hibernate來處理所有數據庫交互需求。現在需要更新應用程序以使用我們的LDAP基礎結構來驅動用戶信息,包括基本用戶數據(如姓名和電子郵件)以及身份驗證和授權需求。如何用Spring Security,Spring LDAP和Hibernate處理用戶信息?
既然一切都已經在一個地方(在DB)到現在爲止,該報告是相當簡單的,因爲Hibernate是信息檢索管理需要與所需的查詢啓動時。抓取用戶的名字等非常簡單,因爲Hibernate懶惰地加載數據。
隨着驅動與LDAP用戶信息的慾望,Hibernate將不再能夠填充在飛行中的用戶信息,因爲它不會是管理用戶的數據。當我們需要抓取用戶數據如姓名等時,我們應該如何使用LDAP來驅動用戶數據並處理認證/授權,而不會造成太大的痛苦?
我們已經使用其中LDAP被視爲「源」爲數據和當前系統被保持原樣混合方法考慮。這將需要更改事務處理代碼以根據LDAP進行更新,以便實時事務使用最新信息,並且還需要與LDAP進行定期同步,以使應用程序數據庫保持最新以用於報告目的。
該解決方案似乎有點哈克,而且似乎有很多運動部件的,但我找不到太多關於這個問題在網絡上的其他地方。
應該如何用戶信息處理/應該如何應用結構化,讓所有的用戶信息仍然很方便,可以很容易地捆綁到系統的其餘部分用於報告的目的呢?有沒有一種方法可以集成Spring LDAP和Hibernate,使數據層以上的層不必知道?或者將LDAP中的信息拉入現有數據庫是最簡單的方法?
您的數據模型是否有任何對用戶的引用,以至於您仍然需要用戶數據庫實體? – Ralph
@Ralph - 是的,其他實體連接到特定用戶(例如,用戶X採取了行動Y)。 – cdeszaq