Я немного смущен, почему кто-то использует метод @PreAuthorize("denyAll")
для метода. Согласно документации безопасности весной, она всегда оценивает значение false. Если мы не будем разрешать доступ к определенному методу, то в чем смысл такого метода. Почему бы не прокомментировать это? Или он все еще может быть доступен из одного класса? Я пытаюсь понять, по какому сценарию такое требование возникнет. Благодарю.Когда мы используем denyAll весной безопасности
ответ
Одно маленькое уточнение, что я нашел в целом за все отрицать было
@DenyAll аннотаций можно использовать для ограничения доступа бизнес-интерфейса от любого, авторизованы или нет. Этот метод все еще может быть вызван из самого класса компонента.
Таким образом, он может использоваться для метода, который по какой-либо причине является публичным или был подвергнут воздействию (возможно, он реализует интерфейс), но никогда не должен вызываться непосредственно извне. Однако они могут быть вызваны изнутри (внутри класса).
вот link
Один реальный пример, который я могу дать вам (что вполне связаны с моей работой). У нас есть 2 бизнес-единицы с одинаковой базой кода. Теперь в одном блоке есть функция, когда какой-либо мобильный посредник может напрямую вызвать услугу, которая отменяет ваучер непосредственно на стороне оператора, а в другом блоке нам нужно блокировать это из-за какого-то бизнес-правила. Поскольку мы используем один и тот же интерфейс в обеих системах, поэтому в одной системе мы заблокировали его использование, используя denyall
Надеюсь, это даст вам четкую идею.
- 1. Когда должна использоваться аннотация «denyAll» безопасности?
- 2. Когда мы используем Element? Когда мы используем Helper? Когда мы используем View Cells? в CakePHP 3
- 3. Когда мы используем Yii RbAC?
- 4. Когда мы используем recyclerView.setHasFixedSize?
- 5. Когда мы используем XMLSerialization?
- 6. Когда мы используем MVVM?
- 7. Когда мы действительно используем Trie?
- 8. Когда/где мы используем XMLRPC
- 9. Когда мы (действительно) используем RenderScript?
- 10. Android: Когда мы используем getIntent()?
- 11. Когда мы используем файл msbuild?
- 12. Где/когда мы используем JSON?
- 13. Когда мы используем транзакции WCF?
- 14. Когда мы используем сервис Windows?
- 15. когда используем процедуру и когда мы используем функцию?
- 16. Почему мы используем SimpleLoadTimeWeaver?
- 17. Когда мы используем $ scope, и когда мы используем var в AngularJS?
- 18. Когда мы используем глобальные индексы и когда мы используем локальные индексы в Oracle?
- 19. Почему мы используем классы обслуживания в интеграции весной спящего режима
- 20. Что именно происходит, когда мы используем ajax
- 21. Что произошло, когда мы используем публикацию clickonce
- 22. когда мы используем блокировку и разблокировку QMutexLocker?
- 23. Что происходит, когда мы используем updatepanel?
- 24. Когда мы используем Assert.Pass() в DUnitX?
- 25. Когда мы используем HashSet <>
- 26. GUI приклеивается, когда мы используем double Stream
- 27. Когда мы используем поставщиков в Angular 2?
- 28. ERR_CONNECTION_REFUSED когда мы используем https: // без WWW
- 29. C++ исключения уловов, когда мы используем классы
- 30. , когда мы используем @controller и MultiActionController вместе
Результат применения этих аннотаций полезен для экземпляра прокси-уровня компонента (когда другие bean-компоненты называют компонент с помощью аннотированного метода), но вы все равно можете использовать этот метод внутри одного и того же компонента не по экземпляру прокси, возможно, вы можете использовать эту комбинацию, если хотите использовать метод только внутренне. –
есть ли какая-либо документация, где я могу получить более подробную информацию? Не могли бы вы привести пример, когда кто-то хотел бы иметь такую конфигурацию безопасности – Zack