Безопасно ли вводить постоянную сущность в @RequestMapping с помощью @AuthenticationPrincipal? - PullRequest
0 голосов
/ 15 марта 2019

Я хотел бы знать, безопасно ли вводить постоянную сущность с помощью @AuthenticationPrincipal в методе, обозначенном @RequestMapping.

Моя проблема заключается в следующем:

@GetMapping("/orders")
public List<OrderDto> getOrders(@AuthenticationPrincipal User user) { ... }

в приведенном выше коде метод должен вернуть все заказы для текущего зарегистрированного пользователя (что он и делает), однако, если я изменю код следующим образом

@GetMapping("/orders")
public List<OrderDto> getOrders(User user) { ... }

, тогда я смогу получить заказы для всехпользователи (путем изменения роли пользователя на администратора в запросе http).Возможно ли что-то подобное при использовании @AuthenticationPrincipal?Как аннотация @AuthenticationPrincipal гарантирует, что возможный злоумышленник не сможет внедрить какой-либо вредоносный код в сущность?

Для пояснения, сущность User помечена @Entity.

Я сейчас использую Spring Security 5.1.4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...