2009-01-27 27 views
3

我正在將一個SQL DB網站(ASP.NET/VB.NET)更改爲多租戶應用程序,其中每個客戶端都有自己的數據庫。將單個數據庫ASP.NET站點轉換爲MultiTenant - 成員和角色困境

在舊網站中,所有ASP角色,登錄名和提供商指向單個數據庫。

現在我們有多個數據庫,我想知道最好的架構/技術使用什麼。有一個數據庫可以配置租戶,例如公司名稱,各種設置(通常位於web.config中)以及連接到租戶數據庫的連接字符串。

我們是否應該在配置租戶的單個數據庫中擁有所有成員資格&角色,或者我們是否在每個單獨租戶數據庫中擁有成員資格&角色?選項2似乎很棘手,因爲我認爲ASP.NET只喜歡在web.config中定義的一組RoleProviders。

有沒有人嘗試過或有任何建議?

回答

2

如果您將ASP.Net成員模型與內置提供者'一起使用,那麼將它們放入一個數據庫中是最容易的,如您所示。

一個選項,我沒有試過這個,是在你的web.config文件中爲每個租戶定義一個提供者。這將允許每個租戶擁有自己的會員資格數據庫,並允許您避免租戶之間的用戶名衝突(如果這是要求)。

0

您應該能夠在運行時配置ASP.NET成員資格數據庫連接字符串。 This thread有幾個選項,包括自定義成員資格提供程序或通過Global.asax.cs在請求生命週期的早期更改值。