Ann_Swap Ответов: 0

Олицетворение пользователя для строк подключения SQL C# MVC


Привет,

У меня есть пара строк подключения в web.config, в идеале используя эти строки подключения и учетные данные, указанные (в web.config) Мне придется открыть соединение и сделать вставку - для обоих соединений (давайте скажем connection1 и connection 2).

Теперь connetcion1 и connection2 имеют разные учетные данные. Я пробовал использовать их в строке подключения web.config, но он всегда говорит, что вход в систему не удался для пользователя. Ниже приведены строки подключения.

`````
<connectionstrings>
<add name="connection_2" connectionstring="Data Source=domain\servername;Initial Catalog=DBName;User ID=domain\xxxx;Password=abcgdd****;" providername="System.Data.SqlClient">

<add name="connection_3" connectionstring="Data Source=domain\servername;Initial Catalog=DBName;User ID=domain\yyyy;Password=fgdd****;" providername="System.Data.SqlClient">
<connectionstrings>

```````````
Поэтому после некоторого гугления понял, что мне придется использовать олицетворение.
Использование приведенного ниже кода для олицетворения

```````
using (new Impersonator("username","domain","pwd"))
{
// trying to open connection 1 from web.config but it says no such user. 

using (SqlConnection connection = new SqlConnection("Connection1FromConfig"))
                            {
                                cmd = new SqlCommand("select * from abc", connection);
                                connection.Open();
                                cmd.ExecuteNonQuery();
                                connection.Close();
                                
                            }
}

Соединение используется во время олицетворения :
<add name="Connection2" connectionstring="Data Source=domain\server;Initial Catalog=DB;" providername="System.Data.SqlClient">


`````
Использовал код отсюда для олицетворения класса - https://daoudisamir.com/impersonate-users-in-c/

Что я уже пробовал:

Соединение используется во время олицетворения :
<add name="Connection2" connectionstring="Data Source=domain\server;Initial Catalog=DB;" providername="System.Data.SqlClient">

0 Ответов