0

JdbcTemplateを使用し、ユーザークエリを実行するプログラムを作成しています。Spring JDBCパッケージを使用して、ユーザークエリをSELECTステートメントに制限する方法はありますか?基盤となるデータベースを更新するクエリをユーザーに実行させたくありません。

ありがとう、
ktm

4

3 に答える 3

4

Spring JDBCはこれを自動的に行うことはできません。独自のアダプターを作成し、すべてのコードがアダプターを呼び出すようにする必要があります。

DB特権を使用して目的を達成することを検討しましたか?セキュリティをどの程度細かくするかによって異なりますが、データベース所有者アカウントとは別のアカウントである「アプリケーション」データベースユーザーを作成することをお勧めします。次に、テーブルごとに適切な特権を付与します。

于 2011-02-04T18:23:15.270 に答える
1

春のセキュリティはこのために設計されています。アクセスを処理するための事前定義されたテーブルがあります。

于 2011-02-04T18:36:55.700 に答える
0

オプションがある場合は、JPA(Java Persistence API)の使用を検討してください。Queryオブジェクトには個別のgetResultListメソッドgetSingleResultメソッドがあり、クエリがDELETEまたはUPDATEの場合に例外をスローします(deleteとupdateはexecuteUpdateを介してのみ処理されます)。

于 2011-02-05T17:21:34.323 に答える