2013-06-11 97 views
-1

我在我的網站上有一個場景,其中登錄的用戶可能有修改數據庫的權限。關於JDBC連接的澄清

因此,當用戶現在登錄時,我正在創建一個連接並將其用於運行查詢。

有沒有辦法刪除jdbc連接的寫入權限,所以如果每次用戶不想修改數據庫時都嘗試運行試圖更新數據庫的查詢,他就無法這樣做。

+0

刪除用於連接配置中的數據庫的用戶的寫入權限。 –

+0

如何在創建連接時刪除jdbc連接的寫入權限 –

+1

同樣,權限不是針對JDBC連接的,是來自用於連接數據庫的用戶的,例如, (,**用戶**,密碼)。 **用戶**具有寫入權限,只需刪除數據庫中的這些權限即可。 –

回答

2

權限由數據庫處理,而不是由jdbc連接處理。 如果要限制可以訪問jdbc連接的用戶,則必須在數據庫內部執行此操作。

但是你總是有可能在執行它們之前檢查查詢。通過這樣做,您可以過濾掉不需要的查詢。 順便說一句,提供一堆預定義的查詢是一個好主意,用戶可以選擇和禁止自由用戶定義的查詢。

如果您對所有網站用戶使用一個通用數據庫用戶,則必須自行進行權限檢查,例如,通過過濾查詢。

+0

數據庫的每個用戶都無法訪問連接到數據庫。我有一個jdbc連接池,我正在讀取和寫入表中的數據,並且如果在執行它們之前嘗試檢查查詢,我會必須在300多個地方更改代碼。 –

+0

查看更新的答案 – mschenk74

+0

或者我想的另一個方向是我維護2個連接池。一個具有讀取和寫入權限,另一個只具有讀權限。那可能嗎。 –