EntityFramework Best Practices RE: Безопасность базы данных - PullRequest
1 голос
/ 02 февраля 2012

У меня есть ситуация, когда я хочу использовать разрешения для объектов базы данных, но не позволяю пользователям, которые достаточно умны, устанавливать соединения через Excel и получать доступ к манипулированию данными. Мы хотим потребовать от пользователя установить соединение через наше веб-приложение, что гарантирует проверку данных в одном месте. Есть ли способ гарантировать, что когда пользователь устанавливает соединение с базой данных и имеет набор разрешений, который позволяет ему вставлять, обновлять или удалять то, что он делает через веб-приложение?

Если нет способа, как вы относитесь к этой ситуации, не используя главного пользователя для подключения к веб-приложению?

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

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

Как только вы даете пользователю доступ к базе данных, он может делать все, что ему позволяет.Там не будет ничего, что помешает пользователю получить доступ к базе данных напрямую.Более того, если вы не используете основную учетную запись в веб-приложении, вам придется делегировать пользователя через веб-приложение (для этого требуется домен Windows и Kerberos, если сервер базы данных не находится на той же машине, что и веб-приложение).Это делегирование предоставит вашему пользователю точно такие же разрешения в вашем приложении, как и у пользователя без вашего приложения.

0 голосов
/ 03 февраля 2012

Не уверен, поможет ли это:

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

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