テスト中の単純なWebアプリがあります。管理者と通常ユーザーの 2 つのレベルがあります。このプロジェクトには 3 つのエンティティもあります。私が達成しようとしているのは、ユーザーが最初のエンティティのエントリを作成できても削除できないインスタンスです。
@RequestMapping を使用することがこれを達成する方法だと思いますが、実装方法が完全にはわかりません。そうでない場合、他にどのような方法がありますか? スニペットコードをいただければ幸いです。
前もって感謝します。
テスト中の単純なWebアプリがあります。管理者と通常ユーザーの 2 つのレベルがあります。このプロジェクトには 3 つのエンティティもあります。私が達成しようとしているのは、ユーザーが最初のエンティティのエントリを作成できても削除できないインスタンスです。
@RequestMapping を使用することがこれを達成する方法だと思いますが、実装方法が完全にはわかりません。そうでない場合、他にどのような方法がありますか? スニペットコードをいただければ幸いです。
前もって感謝します。
jspx
ユーザー インターフェイスからのアクセスのみをブロックし、コントローラーからの削除メソッドの呼び出しを禁止する場合は、ビュー ファイルの削除ボタンを非表示にすることができます。追加の方法を使用して、ユーザーによる特定の操作の実行を制限することもできます。
1. ユーザーインターフェース
ただし、承認されていないユーザーが削除操作を実行しないようにするには、コントローラーを手動でチェックする必要があります。
これを行うには、まず、Spring Security JSP タグ ライブラリの名前空間をファイルにインポートする必要がありjspx
ます。
xmlns:sec="http://www.springframework.org/security/tags"
次に、インポートしたばかりの Spring セキュリティ タグを使用して、ユーザー レベルで表示する必要がある要素を囲みます。
例:
<sec:authorize access="hasRole('ROLE_ADMIN')">
<p>User is an administrator</p>
<!-- Delete button goes here -->
</sec:authorize>
タグ ライブラリの詳細については、http://static.springsource.org/spring-security/site/docs/3.0.x/reference/taglibs.htmlをご覧ください。
2.コントローラー
ROLE_ADMIN
次のコードをapplicationContext-security.xml
<intercept-url pattern="/countries/**" access="hasRole('ROLE_ADMIN')" method="DELETE"/>
うまくいかない場合は、次のリンクを試してみてください。
Spring Security に関する興味深いチュートリアルについては、http://static.springsource.org/spring-security/site/petclinic-tutorial.htmlにアクセスしてください。
乾杯。