2

RESTful Spring MVC アプリで、ドメイン オブジェクトを更新するユーザーの能力を制限する最も効率的な方法は何ですか?

「service/movie/id」という URL を持つ映画サービスを想像してください。ユーザーには、管理者と基本ユーザーの 2 つのグループがあります。

管理者は PUT リクエストを使用してムービー DTO のすべてのプロパティを更新できますが、基本ユーザーはそれらのサブセットのみを更新できます。

春のセキュリティでこれを実装する最良の方法は何ですか?

管理者用と基本ユーザー用に別々の URL を持つことを検討しましたが、それは洗練されていないようです。

4

2 に答える 2

1

@PreAuthorize役割を確認するために注釈を使用できます。必要なものかどうかを確認してください。
http://static.springsource.org/spring-security/site/docs/3.0.x/reference/el-access.html#el-pre-post-annotations

UPDATE複数のロールに
使用できます。@PreAuthorize("hasRole('ROLE_USER','ROLE_ADMIN')")

于 2013-05-14T14:52:22.747 に答える
0

私はこれを達成するための非常に簡単な方法を見つけましたが、それは最善の解決策ではないかもしれません.私のコントローラーメソッドでは、ユーザーの役割などを簡単に見つけることができます:

Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

次に、ユーザーの役割に固有のサービス メソッドにルーティングします。

于 2013-05-14T16:20:56.883 に答える