2012-05-07 180 views
1

我正在用java編寫一個Web應用程序,包括Spring(以及spring安全),struts2和hibernate。多客戶端Java架構

每個「用戶」都屬於「客戶」。我需要設計它,以便當用戶登錄時,他將只能訪問他的「客戶端」的資源。

最初,網絡應用程序是在沒有「客戶端」的情況下構建的。只有具有角色的用戶可以對網絡應用的某些模塊進行基於角色的訪問。

這些角色將繼續。唯一的區別是用戶僅限於客戶資源。在客戶端內,他們擁有基於角色的訪問,描述他們可以做什麼和不可以做什麼。

架構明智我有一個非常標準的網絡應用程序,與經理和道的。 那麼對此最好的架構方法是什麼?

感謝您的任何意見!

+2

萬一你想要谷歌它,你正在尋找的詞是'多租戶'。 – mihi

+0

謝謝你。我正在尋找那個關鍵字 – user829237

回答

0

我有類似的工作。例如,您可以將「clientId」額外屬性添加到默認的UserDetails(您是否還沒有自定義的屬性),因此一旦用戶登錄,應用程序就知道您用戶所屬的客戶端。

當用戶想要執行一個動作時,應用程序應該從userDetails獲取「clientId」並根據此ID執行操作。 Problay中,許多DAO方法(和表)應該將clientId作爲參數。

此解決方案不會影響角色。

+0

是的,這是我可能需要做的。我有點希望有某種標準化的框架或「插件」使用,所以我不得不重寫很多代碼。 – user829237

+0

我不認爲有一個簡單的方法。如果你希望你的應用程序是多租戶的,你需要改變你的數據庫模型,你的應用程序等等。 – jddsantaella