Apache Shiro & Java безопасность для новичков

Я ничего не знаю о модели безопасности Java, включая конфигурацию XML, настройку политики, любые компоненты структуры безопасности, инструменты (такие как хранилище ключей и т. д.) и все между ними.

хотя я понимаю, что в конечном итоге это станет важно для меня, чтобы засучить рукава и изучить безопасность Java в глубине, мне было интересно, поможет ли использование чего-то вроде Apache Shiro немного облегчить переход. Таким образом, у меня есть несколько проблем с он.

- Это Shiro, по сути, "готовая оболочка catchall" для реализации безопасности в Java-приложениях (и, в частности, веб-приложениях). Смысл, можно ли настроить Shiro со своим проектом и по существу настроить его, сделать все ту же конфигурацию, параметры политики и т. д. что нужно было бы делать" вручную " (по частям) без него? Если нет, то какие недостатки имеет Широ (какие некоторые большие вещи Широ не может сделать для меня, что жизненно важно)? Есть ли какие-либо большие уязвимости, которые Широ не рассматривает вообще?

в том же духе Я слышал хорошие вещи о структуре ESAPI OWASP. У Aybody есть опыт работы с обоими? Можно ли настроить ESAPI и Shiro для совместной работы или это просто бинарная сделка типа "один или другой"?

спасибо заранее!

1 ответов


короткий ответ-да. Как Широ и ESAPI can работайте вместе, хотя между двумя API существует lt избыточной функциональности. Shiro дает вам все необходимое для покрытия стандартной модели безопасности Java. ESAPI выходит за рамки, предоставляя глобально стандартизированные механизмы безопасности OWASP.

Shiro должен использоваться новичками, такими как я, которые действительно не понимают безопасность Java и/или общие приложения/безопасность сервера. Это занимает забота о многих вещах для безопасности-невежественна. ESAPI должен использоваться специалистами по программированию безопасности, которые уже понимают безопасность Java и хотят использовать не только все, что поставляется с Java EE, но нужно пройти лишнюю милю и сделать вещи еще более безопасными.