2011-02-04 3 views
0

Я пишу программу, которая использует JdbcTemplate и выполняет пользовательский запрос. Есть ли способ с помощью пакета Spring JDBC, который я могу ограничить запросы пользователей операторами SELECT? Я не хочу, чтобы пользователи выполняли любые запросы, которые обновляют базовую базу данных.Spring JdbcTemplate - Как ограничить запросы SELECT (s)?

Спасибо,
KTM

ответ

4

Spring JDBC не может сделать это за вас автоматически, вам придется написать свой собственный адаптер и убедитесь, что весь ваш код обращается к адаптеру.

Рассматривали ли вы использование привилегий БД для достижения того, чего хотите? Это зависит от того, насколько важна ваша безопасность, но это хорошая идея создать пользователя базы данных «приложение», которая является отдельной учетной записью из учетной записи владельца базы данных. Затем вы предоставляете соответствующие привилегии для каждой таблицы.

1

Весенняя безопасность предназначена для этого. Он имеет предопределенные таблицы для обработки доступа.

0

Если у вас есть этот параметр, рассмотрите возможность использования JPA (Java Persistence API); В запросе-объекты имеют отдельный getResultList и getSingleResult -методов, которые бросают исключения, если запрос является DELETE или UPDATE (удаление & обновления обрабатывается только через executeUpdate).

Смежные вопросы