2012-03-29 3 views
1

Я собираюсь использовать единую базу данных LOGIN (аутентификация форм Sql) для хранения информации пользователя, информации профиля пользователя, доступных баз данных для пользователя (включая все доступные базы данных для конкретного клиент) и пользовательские настройки/предпочтения. Но мне нужно иметь отдельные таблицы ролей в отдельных базах данных, так что когда пользователь входит в первую базу данных и выбирает, к какой базе данных подключиться, тогда роли, которым назначен пользователь, определяются базой данных, к которой они подключаются. Роли могут различаться в зависимости от базы данных и могут варьироваться от базы данных к другой. Схемы базы данных будут идентичны для каждой подключенной базы данных. Какие будут ваши предложения? Спасибо!MVC 3 формы Аутентификация множественной роли базы данных Таблицы

ответ

1

Проще всего было бы реализовать пользовательские RoleProvider что внутренне использует запас SqlRoleProvider инициализирован с правильной строкой подключения для текущей базы данных пользователя .

+0

Вы знаете пример этого? Я думаю, что вы правы, но как мне это не ясно. Thaanks! – user1011441

1

Единая база данных входа для хранения информации о пользователе должна иметь таблицу ролей для каждой базы данных. Я не уверен, где вы хотите поставить логику, для какой роли имеет доступ к тому, что в каждой базе данных. Если вы хотите поместить его в базу данных, они должны войти в соответствующие базы данных. Информация пользователя должна содержать те роли, к которым пользователь имеет доступ в каждой таблице через таблицу соединений.

User 
---- 
UserId 
Name 

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

AllRoles 
-------- 
AllRolesId 
DatabaseName 
RoleName 
Смежные вопросы