2012-03-29 69 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