Сохранение имени пользователя и пароля для доступа к SQL Server из службы Windows без встроенной безопасности - PullRequest
3 голосов
/ 24 февраля 2011

У нас есть служба, которая обращается к SQL Server, клиент не использует Integrated Security, и нам нужно, чтобы у службы были права на базу данных при каждом включении компьютера. Нужно ли хранить имя пользователя и пароль SQL Server? Если так, то где? (и как)

Ответы [ 3 ]

2 голосов
/ 24 февраля 2011

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

И да, хранить их в виде простого текста - дело рискованное ..... ..... 1003 *

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

Прочтите о Шифрование паролей в приложении .NET , и вопреки распространенному мнению, это доступно во всех .NET - , а не только в ASP.NET. Это работает и в сервисах - не проблема вообще.

Сохраните строку подключения к SQL Server в app.config для вашей службы, а затем зашифруйте раздел <connectionStrings> и покончите с этим!

1 голос
/ 24 февраля 2011

Вам необходимо создать учетную запись SQL для этой службы (http://msdn.microsoft.com/en-us/library/aa337562.aspx).. Имя пользователя / пароль для этой учетной записи SQL необходимо будет где-то хранить (app config / registry), к которой служба может получить доступ.

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

0 голосов
/ 24 февраля 2011

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

посмотрите на это сообщение в конце страницы, когда оно говорито "Предоставлении доступа к локальному серверу SQL"

http://msdn.microsoft.com/en-us/library/ff647402.aspx

...