2014-09-29 85 views
3

我正在嘗試爲我正在處理的應用程序的多租戶設置找到最佳方法。目前的應用程序專門針對籃球,但希望爲足球使用相同的代碼庫。ASP.NET MVC 5,實體框架,Ninject和多租戶設置

該應用程序會改變顏色,標誌和一些其他代碼和視圖可能會顯示或隱藏。這將基於運動承租人使用的應用程序的URL。

我正在使用ASP.NET MVC 5,Ninject和Entity Framework 6.我將在我的數據庫中創建一個Tenant表,用於存儲URL和其他相關信息。

當應用程序啓動時,檢索租戶並將其存儲給該用戶的最佳方式是什麼?請記住,用戶可以導航到其他運動網站,保持相同的登錄,但只會加載與該租戶相關的信息。餅乾會是最好的選擇嗎?我需要一種通過服務層訪問租戶的方法。

我可能會使用https://github.com/jbogard/EntityFramework.Filters爲實體框架篩選某些僅與該運動相關的表格。但是,如何訪問TenantID來執行此操作?某種靜態工廠會工作嗎?

+0

我假設你打算稱之爲租賃,而不是傾向? :) – DavidG 2014-09-29 15:39:56

+0

是的,對不起,你去 – 2014-09-29 15:42:03

回答

0

您可以看看AspNet.Identity,它可以讓您驗證用戶/租戶,存儲每個用戶/租戶的個人資料信息,併爲網站的不同部分使用角色或聲明授權。

+0

我已經使用asp.net會員資格,並不會改造它來做到這一點。 – 2014-09-29 15:42:51

+0

然後將這個添加到問題中應該很有用。 – elolos 2014-09-29 15:44:06

+0

我想,但用戶與租戶完全分開。同一個用戶可以訪問所有租戶。我想根據租戶顯示不同的東西,用戶無關緊要。 – 2014-09-29 15:48:20