Apache Shiro & Java Security для новичков - PullRequest
8 голосов
/ 28 сентября 2011

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

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

Является ли Shiro, по сути, «упаковкой под ключ» для реализации безопасности в приложениях Java (и, в частности, в веб-приложениях). То есть можно ли настроить Shiro для своего проекта и настроить его на все те же настройки, параметры политики и т. Д., Что без него пришлось бы делать «вручную» (по частям)? Если нет, то какие недостатки есть у Широ (какие большие вещи Широ не может сделать для меня жизненно важными)? Существуют ли какие-либо крупные уязвимости, к которым Широ не обращается вообще?

В том же духе я слышал хорошие отзывы об инфраструктуре ESAPI OWASP. У кого-нибудь есть опыт работы с обоими? Можно ли настроить ESAPI и Shiro для совместной работы или это просто бинарное соглашение типа «один или другой»?

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

1 Ответ

9 голосов
/ 03 октября 2011

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

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

...