2012-03-29 85 views
1

我將使用單個LOGIN數據庫(Sql表單身份驗證)來保存用戶信息,用戶配置文件信息,用戶的可用數據庫(包括特定的所有可用數據庫客戶端)以及用戶的設置/偏好。但是我需要在單獨的數據庫中有單獨的角色表,以便當用戶登錄到第一個數據庫並選擇要連接的數據庫時,分配給用戶的角色由它們連接到的數據庫確定。角色可能因數據庫而異,可能因數據庫而異。每個連接的數據庫的數據庫模式都是相同的。你的建議是什麼? 謝謝!MVC 3表單身份驗證多個數據庫角色表

回答

1

最簡單的方法是實現一個自定義RoleProvider在內部使用與用戶的當前數據庫正確的連接字符串初始化的股票SqlRoleProvider

+0

你知道這個例子嗎?我認爲你是對的,但在高潮時我不清楚。 Thaanks! – user1011441 2012-04-02 14:55:55

1

保存用戶信息的單一登錄數據庫應該有每個數據庫的角色表。我不確定你想把哪個角色訪問每個數據庫中的內容的邏輯放在哪裏。如果你想把它放在一個數據庫中,那麼它們應該放在它們各自的數據庫中。用戶信息應該包含用戶可以通過聯結表訪問每個表中的哪些角色。

User 
---- 
UserId 
Name 

UserRoles 
--------- 
UserRolesId 
UserId 
AllRolesId 

AllRoles 
-------- 
AllRolesId 
DatabaseName 
RoleName 
相關問題