Строка подключения с использованием пользователя домена? - PullRequest
25 голосов
/ 16 февраля 2012

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

Спасибо за вашу помощь.

Ответы [ 5 ]

34 голосов
/ 16 февраля 2012

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

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

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

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

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

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

6 голосов
/ 20 февраля 2017

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

Опция 1

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

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

Опция 2

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

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

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

<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

4 голосов
/ 16 февраля 2012

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

Integrated Security=SSPI

Который имеет вариант:

Trusted_Connection=True

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

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

4 голосов
/ 16 февраля 2012

Да, попробуйте это:

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

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

Также обратите внимание на connectionstrings.com

2 голосов
/ 16 февраля 2012
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

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

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