我正在編寫一個使用JdbcTemplate並執行用戶查詢的程序。有沒有辦法通過Spring JDBC包,我可以限制用戶查詢SELECT語句?我不希望用戶執行任何更新底層數據庫的查詢。Spring JdbcTemplate - 如何限制對SELECT的查詢?
感謝,
KTM
我正在編寫一個使用JdbcTemplate並執行用戶查詢的程序。有沒有辦法通過Spring JDBC包,我可以限制用戶查詢SELECT語句?我不希望用戶執行任何更新底層數據庫的查詢。Spring JdbcTemplate - 如何限制對SELECT的查詢?
感謝,
KTM
春天JDBC無法自動爲你做這個,你會寫自己的適配器,並確保所有的代碼調用適配器。
您是否考慮過使用數據庫特權來實現您想要的功能?這取決於您希望安全性的細化程度,但創建一個「應用程序」數據庫用戶是一個好主意,該用戶是數據庫所有者帳戶中的獨立帳戶。然後,您在每個表的基礎上授予適當的權限。
Spring安全性是爲此設計的。它有一個用於處理訪問的預定義表。
如果您有選擇,請考慮使用JPA(Java持久性API);查詢對象具有單獨getResultList和getSingleResult - 方法,其拋出異常,如果查詢是一個刪除或更新(刪除&更新僅經由的executeUpdate被處理)。