0

我使用開箱即用的Asp.Net成員資格功能來處理我的用戶管理和角色管理。設置成員供應商以使用特定供應商

我的應用程序由每個客戶端的單個數據庫組成,每個數據庫都有自己的成員資格提供程序和角色提供程序。

但是,有一些用戶爲多個客戶端工作,我希望使用單一登錄並讓他們選擇要查看的客戶端。我已經設置了一切,通過使用存儲所有用戶名和與他們有權訪問的關係的中間數據庫來促進這種「客戶端切換」。我還設置了它,以便在一個數據庫中對用戶進行的任何更新都會更新其他數據庫中的所有相應用戶。所有這些邏輯工作得很好,除了我似乎無法弄清楚如何告訴ASP.Net更改爲特定的MembershipProvider並使用它。

,我想我應該使用的過程如下(切換的時候用戶在客戶端下拉客戶端):

  • 登錄的當前用戶從
  • 告訴ASP.Net使用哪個成員資格提供(基於選擇的下拉選擇的客戶機上)
  • 登錄當前用戶在使用所選擇的客戶的成員資格提供和刷新/重定向到它們時,他們改變下拉被查看的頁面

我知道如何獲得對特定成員資格提供者(Membership.Providers [MembershipProviderName])的引用,但我找不到任何有關如何告訴ASP.Net更改其成員資格提供者的信息。我並不確定asp.net登錄控件是如何在後臺執行此操作的 - 這可能會幫助我完成所有這一切。

我一直在搜索SO和網絡一段時間,似乎無法找到很多關於做這個比其他人嘗試修改其Web.config中Providers元素的DefaultProvider屬性的線程。

回答

0

This MSDN tutorial may help you。

+0

感謝您的指導。我看了幾個不同的,但這是我見過的最好的之一。最後,我試圖避免一個自定義會員供應商。然而,我讀到的關於提供者的信息越多,我越看到我的方法如何不是真正意義上的多種提供者模型。現在,由於客戶端數據庫中的所有重複用戶將始終擁有相同的數據(這要歸功於我的應用程序邏輯),所以我決定作弊並僅使用來自任何asp.net提供程序的用戶/角色信息(UserId除外,必須根據請求從特定供應商處檢索)。 – 2012-04-21 15:05:51