誰でも roo で作成されたエンティティを読み取ることができるが、管理者ユーザー (で指定applicationContext-security.xml
) のみが作成/更新/削除できるように、Spring でセキュリティ ポリシーを設定しようとしています。カスタマイズすることで目標を達成できるはずですがapplicationContext-security.xml
、方法がわかりません。次のようなintercept-urlを使用することを考えました:
<intercept-url pattern="/anyEntity/*?form" access="hasRole('ROLE_ADMIN')" />
しかし、この構成は POST の非表示フィールドであるため、DELETE をカバーしていません (ドキュメントによると、post メソッドはサポートされていますが、intercept-url タグで非表示フィールド値を指定する方法に関するドキュメントはありません)。
もう 1 つの方法は、エンティティ セッター メソッドで @secured を使用することです。私は現在、ゲッター/セッターを生成するために roo に依存しているため、可能であれば使用を避けたいと考えています。
私が推測するフィルタリングを行うカスタムコントローラーを作成することもできます。しかし、構成をカスタマイズするだけでよいように思えます。公開の読み取り専用ポリシーは非常に一般的な戦略であるため、明らかな何かが欠けているに違いありません。