.NET - Пользователи и разные базы данных - PullRequest
3 голосов
/ 05 ноября 2008

Я смотрю, чтобы определенные пользователи обращались к одной базе данных, а другие пользователи - к другой базе данных в зависимости от компании, к которой они принадлежат. Как лучше всего обрабатывать строки подключения и убедиться, что пользователь подключается к нужной базе данных при входе в систему?

Спасибо за любые идеи.

Ответы [ 3 ]

7 голосов
/ 05 ноября 2008

В Web.Config или App.Config

<connectionStrings>
  <add name="ConnectionForDudes" providerName="System.Data.SqlClient"
      connectionString="Data Source=___MALECONNECTIONHERE___"/>
  <add name="ConnectionForChicks" providerName="System.Data.SqlClient"
      connectionString="Data Source=___FEMALECONNECTIONHERE___"/>
</connectionStrings>

Когда приходит время открыть базу данных, вы получаете строку подключения следующим образом:

bool UserIsMale = true;
string ConnectionStringName = "ConnectionFor" + UserIsMale ? "Dudes" : "Chicks";
string ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings[ConnectionStringName].ConnectionString;
6 голосов
/ 05 ноября 2008

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

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

3 голосов
/ 05 ноября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...