Для меня не ясно, в чем разница в весенней безопасности между:
@PreAuthorize("hasRole('ROLE_USER')")
public void create(Contact contact)
И
@Secured("ROLE_USER")
public void create(Contact contact)
Я понимаю, что PreAuthorize может работать с Spring El, но в моем примере есть реальная разница?
spring-security
Джером VDL
источник
источник
Если вы хотите сделать что-то вроде доступа к методу, только если у пользователя есть Role1 и Role2, вам придется использовать @PreAuthorize.
С помощью
источник
Просто
@PreAuthorize
новее чем@Secured
.Поэтому я говорю, что его лучше использовать,
@PreAuthorize
поскольку он «основан на выражениях», и вы можете использовать такие выражения, как hasRole, hasAnyRole, allowAll и т. Д.Чтобы узнать о выражениях, посмотрите эти примеры выражений .
источник
@PreAuthorize
отличается, это более мощный, чем@Secured
.так что вы не можете выразить условие AND, используя
источник
"hasRole('ADMIN OR hasRole('USER')"
?источник