4

我正在用ASP.NET MVC構建一個多租戶應用,並且在驗證用戶方面存在問題。多租戶成員提供商ASP.NET MVC

形勢

我:

-a表用戶(ID,名稱,名字,電子郵件) 此表由,讓誰在兩個租戶註冊的用戶沒有按」不需要再次登錄。

-a帶Tentantuser(ID,TenantID,UserID(FK到表用戶),用戶名,登錄名,密碼,活動)的表 此表包含一個租戶的de登錄en密碼。

例子:

  • 用戶X是註冊在TenantA和TenantB
  • 用戶X登錄上TenantA,與他對TenantA
  • 登錄名和密碼
  • 系統驗證或登錄名和密碼是正確的表TenantUser
  • 系統驗證UserX哪個userID對應表中的Id用戶
  • UserX轉到TenantB並且我

    如何創建自定義提供商,所以我可以在一個租戶檢查登錄密碼&:在

我的問題S也可以自動登錄? 例如:

public abstract bool ValidateUser(string username,string password); 

我怎樣才能到我的供應商說,在其租戶用戶?

我怎樣才能改變這種在類似:

public overrides bool ValidateUser(string username,string password, string tenant); ? 

或什麼是另一種方式來解決這個問題?

回答

4

應用程序名稱參數可用於標識tenant a/b,可以在配置文件中指定tenant a/b。然後,在您的自定義提供商中,您可以使用它爲租戶提供正確的條目。不要設置自定義方法;那將是一個痛苦。

HTH。

+0

Thx。 我知道自定義方法不是正確的方法。 租戶是即時創建的,我怎樣才能在配置文件中指定這個? 或者我可以將它存儲在別的地方嗎? – Masna 2010-05-20 15:18:36

+0

如果您正在開發自定義提供程序,則可以輕鬆地將此存儲在其他位置。它可以在應用程序設置,自定義配置部分,靜態對象,或像DB/xml文件這樣的外部資源中......僅舉幾例:-)這取決於你在需要的時候如何。 ..沒有更多的細節,我不能幫助任何更多的細節。 – 2010-05-21 01:31:36