Ограничьте манипулирование данными от пользователя только через прикладной уровень для решения с несколькими базами данных - PullRequest
0 голосов
/ 08 октября 2009

Я начинаю разработку нового программного обеспечения, которое должно быть совместимо с SQL Server (2005 и выше), Oracle (10r2 и выше) и Sybase (12.5 и выше). Я планирую реализовать абстракцию базы данных с помощью хранимых процедур, чтобы я мог использовать более производительный код, реализующий подходы к базе данных для каждого случая. Я планирую запретить доступ ко всей информации таблицы, включая чтение данных, и разрешить доступ к информации только через хранимые процедуры. Проблема в том, что когда я предоставляю разрешение EXECUTE для хранимой процедуры, которая будет использоваться для INSERT, если пользователь подключится к базе данных через SSMS или SQL Plus, он сможет добавить данные, вызвав процедуру напрямую, и я хотел бы предотвратить это. Я хотел бы, чтобы обработка данных через хранимые процедуры выполнялась только через мое приложение. Я мог бы предоставить отдельные логины для своего приложения и пользователей, но я хочу, чтобы мое приложение могло подключаться к базе данных через NT-аутентификацию, используя учетные данные пользователя. Есть ли способ сделать это?
Есть ли лучший способ добиться того, чего я пытаюсь достичь?
Спасибо

1 Ответ

0 голосов
/ 08 октября 2009

Вы можете встроить UUID в свое приложение, и хранимая процедура требует его, прежде чем он будет записывать данные в БД.

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