Подтвердить что ты не робот

Строка подключения с использованием пользователя домена?

Ранее для всех наших приложений asp.net мы использовали пользователя sysadmin в SQL Server для подключения и добавления/обновления/удаления/получения данных. Наш SQL Admin хочет удалить эту учетную запись и создать учетную запись домена, чтобы мы могли использовать эту учетную запись в наших .net-приложениях.

Моя текущая строка подключения:

 
name="name" connectionString="Data Source=server;Initial Catalog=database;Persist Security Info=True;User ID=user;Password=password" providerName="System.Data.SqlClient"

Какова будет строка подключения для использования учетной записи домена?

Я пробовал:

name="name" connectionString="Data Source=server;Initial Catalog=database;Persist Security Info=True;User ID=domain\user;Password=password" providerName="System.Data.SqlClient"

и он не работает.

Есть ли другой способ подключения к SQL Server с использованием учетной записи домена?

Благодарим за помощь.

4b9b3361

Ответ 1

Посмотрите connectionstrings.com на все возможные варианты - очень удобный ресурс, который я использую все время

В частности, вам нужен этот формат:

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Это, конечно, работает только в том случае, если рассматриваемая учетная запись домена является той, которая открывает соединение.

Нет простого способа подключения с произвольными учетными данными - но вы можете выдавать себя за данного пользователя и затем подключаться.

Это может быть немного больно. Альтернативой, если пользователи находятся в локальной сети (или вы управляете их конфигурацией браузера), является использование аутентификации Kerberos на вашем сайте. Страницы будут обслуживаться с соответствующими разрешениями пользователей - тогда вы можете использовать строку подключения выше, и IIS будет подключаться к Db с соответствующими учетными данными для каждого пользователя. Это особенно полезно с точки зрения безопасности, поскольку Db может проводить аудит на основе каждого пользователя, а разрешения могут быть для каждого пользователя/строки/столбца, а не только для каждого приложения.

Ответ 2

Если вы хотите использовать другую учетную запись пользователя, то вошедший в систему пользователь имеет два варианта.

Опция 1

Вы можете добавить пользователя в личность пула приложений.

Для этого перейдите к расширенной настройке пула приложений и отредактируйте удостоверение, чтобы использовать пользователя, которого вы хотите.

Вариант 2

Добавьте это в веб-конфигурации:

<identity impersonate="true" userName="Domain\User" password="Password" />

И используйте это соединение stirng:

<add name="Name" connectionString="Data source=SqlServer;Initial Catalog=DbName;Integrated security=True" providerName="System.Data.SqlClient"/>

Подробнее см.: https://msdn.microsoft.com/en-us/library/134ec8tc.aspx.

Также нашел другую хорошую статью здесь https://www.codeproject.com/tips/520341/implement-impersonation-in-asp-net

Ответ 3

Да, попробуйте следующее:

Data Source=server;Initial Catalog=database;Integrated Security=SSPI;

Это указывает на то, что вы хотите использовать встроенную проверку подлинности Windows, когда вы все еще пытались использовать проверку подлинности SQL Server (даже если введенное вами имя пользователя выглядело как учетная запись Windows/пользовательская учетная запись, SQL-сервер по-прежнему рассматривает его как стандартную аутентификацию SQL Server)

Также посмотрите connectionstrings.com

Ответ 4

Используйте встроенную защиту:

Integrated Security=SSPI

У кого есть вариант:

Trusted_Connection=True

Различные строки подключения (для различных баз данных) можно найти на connectionstrings.com.

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

Ответ 5

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Вышеупомянутая строка соединения для проверки подлинности Windows с экземпляром SQL Server.