Почему аннотации @PreAuthorize, @HasRole и т.д. рекомендуется устанавливать в сервисе, а не в контроллере?
Встречал рекомендацию, что аннотации безопасности лучше устанавливать на методах сервиса, а не контроллера. С одной стороны это логично (потому что логика авторизации инкапсулируется в сервисе), а с другой стороны это неудобно - придётся лезть в сервис, чтобы понимать, к какой роли относится тот или иной метод контроллера.
В чём причина того, что аннотации безопасности рекомендуется устанавливать именно в сервисе?