C# и аутентификация SQL Server

Я в настоящее время разрабатываю приложение C# с SQL Server бэкенд DB. Я приближаюсь к точке развертывания и поражаю проблему. applicaiton будет развернут в активной сети каталога. Насколько аутентификация SQL идет, я понимаю, что у меня есть 2 опции - Windows Authenticaiton или Сервер Authenticaiton.

Если я использую Аутентификацию сервера, я обеспокоен, что имя пользователя и пароль для учетной записи будут сохранены в простом тексте в app.config файле и поэтому оставят базу данных уязвимой.

Используя Windows Authenticaiton избежит этой проблемы, однако это означало бы давать каждому члену штата в рамках нашего доступа для чтения-записи организации к базе данных для запущения приложения правильно. Пока это в порядке, это также означает, что они могут легко соединиться с базой данных сами через другие средства и непосредственно изменить данные за пределами приложения.

Я предполагаю, что существует что-то действительно очевидное, которое я пропускаю здесь, но я гуглил весь вечер напрасно. Любой совет/руководство очень ценился бы!

Peter


Дополнение - мой проект базируется Windows Form не ASP.NET - действительно ли шифрование является app.config файлом все еще правильный ответ? Если это, у кого-либо есть какие-либо примеры, которые не являются базирующимся ASP.NET?

6
задан Peter 26 May 2010 в 21:04
поделиться

4 ответа

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

Вы всегда можете создать строку подключения в файле app.config и зашифровать этот раздел строки подключения . Это работает как для ASP.NET, так и для консольных приложений, приложений Winforms, приложений WPF - на самом деле это базовая технология .NET.

См. Шифрование паролей в .NET app.config Джона Гэллоуэя, чтобы узнать, как это сделать, не относясь к ASP.NET.

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

Да, но вы можете облегчить бремя:

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

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

3
ответ дан 17 December 2019 в 02:24
поделиться

вы можете зашифровать имя пользователя и пароль в файле конфигурации

http://msdn.microsoft.com/en-us/library/89211k9b (VS.80) .aspx

3
ответ дан 17 December 2019 в 02:24
поделиться

Самый простой вариант - сохранить имя пользователя и пароль в файле web.config, а затем зашифровать их

0
ответ дан 17 December 2019 в 02:24
поделиться

Вы всегда можете зашифровать данные в файле app.config.

Эта ссылка содержит больше информации.

0
ответ дан 17 December 2019 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: