Остановить изменение базы данных SQL Server приложения .NET через Access с использованием ODBC? - PullRequest
1 голос
/ 18 мая 2011

У нас есть приложение winforms .NET 2.0, которое подключается к базе данных SQL Server 2005 с помощью аутентификации Windows. Все модификации базы данных выполняются с использованием хранимых процедур, которые вызываются из приложения. Это работает нормально, и пользователям разрешено делать только то, что позволяет их роль.

Однако нам пришло в голову, что любой пользователь, имеющий разрешение на использование приложения, теоретически может запустить MS Access и подключиться к базе данных, используя ODBC, и изменить любую запись, которую он пожелает в базе данных.

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

Как нам заблокировать это, чтобы изменения через Access и т. Д. Были невозможны, в то время как приложение по-прежнему работает правильно из настольного приложения .NET?

1 Ответ

3 голосов
/ 18 мая 2011

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

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