2
私は@PreAuthorizeでカスタムアクセスチェッカーを使用しています:カスタムPreAuthorizeメソッドでRequestMethod-verbを取得することは可能ですか?
@RestController
@RequestMapping("/users")
public class Users {
@PreAuthorize("@customAccessChecker.hasAccessToMethod('USERS', 'GET')")
@RequestMapping(method = RequestMethod.GET)
User getUsers() {
...
}
@PreAuthorize("@customAccessChecker.hasAccessToMethod('USERS', 'POST')")
@RequestMapping(method = RequestMethod.POST)
User addUser() {
...
}
}
私は@PreAuthorize注釈内の文字列「GET」と「POST」を取り除くしたいと思います。どうすればhasAccessToMethodの変数入力として@RequestMappingで使用されるRequestMethodを取得することは可能ですか?
これはまったく答えです。注釈値は一定のSpringを期待するので、それをいくつかのenum値と連結することはできません。 – Andrew
恐ろしい!それは完璧に働いた。 – maxo
リクエストから、ハードコードされた「USERS」文字列を使用する代わりに、#request.servletPathを使用してリソース名を取得することもできます。 – maxo