Будучи новичком в структуре безопасности Spring, я хотел знать, почему мы используем @PreAuthorize("permitAll()")
с методами? В документации сказано, что PermitAll всегда оценивается как true. (http://docs.spring.io/spring-security/site/docs/3.0.x/reference/el-access.html)
Кроме того, у меня есть изменение кода ниже. Разработчик вносит изменения из allowAll() в конкретную проверку разрешений. Что здесь подразумевается? Так как я не слишком уверен в том, как работает allowAll(), я не могу судить о логике изменения кода. Мне кажется, что разработчик добавляет определенные проверки разрешений и передает null в качестве объекта аутентификации. Может ли кто-нибудь объяснить, каково влияние явной передачи null в качестве объекта аутентификации? Получают ли пользователи, не прошедшие проверку подлинности, доступ, если у них есть конкретное разрешение «LUONTI» на целевой объект — «opetussuunnitelma»?
- @PreAuthorize("permitAll()")
+ @PreAuthorize("hasPermission(null, 'opetussuunnitelma', 'LUONTI')")
OpetussuunnitelmaDto addOpetussuunnitelma(OpetussuunnitelmaDto opetussuunnitelmaDto);
Спасибо. Любая помощь высоко ценится!