Безопасность Java EE - Какой метод использовать? - PullRequest
6 голосов
/ 05 августа 2010

Какой из них является наилучшим подходом / методом для обеспечения безопасности в Java EE? (JPA / JSP)

Я работаю над личным проектом, поэтому могу изучать Java EE и немного запутался вкак подойти к процессу АВТОРИЗАЦИЯ и АУТЕНТИФИКАЦИЯ на моем веб-сайте.

У меня разные роли, и я не хочу, чтобы определенные пользователи получали доступ к определенным частям сайта.Поэтому я искал документы, учебные пособия и т. Д., Но все, что я нашел, датируется более 3-4 лет назад.Есть ли что-нибудь более недавнее, что я должен изучить?

Вот некоторые из вещей, которые я нашел:

http://www.oracle.com/technetwork/developer-tools/jdev/oc4j-jaas-login-module-083975.html

Любая помощь будет принята с благодарностью !!!:)

Ответы [ 4 ]

3 голосов
/ 05 августа 2010

Spring Security .Хотя он обозначен как Spring, , вы можете найти его полезным для веб-приложений ;обратите внимание, что вам не нужно писать приложение Spring для использования Spring Security.

Если вы хотите придерживаться JAAS, я бы предложил использовать один из модулей входа в контейнер, просто для начала, прежде чем выпопытаться написать свой собственный модуль входа.Имейте в виду, что вы можете написать один, если поставляемые в комплекте модули не соответствуют вашим требованиям.И есть хорошая книга по JAAS , которая поможет вам понять ее подробно.

Более того, взгляните на Спецификация сервлета 3.0 , чтобы увидеть, как аннотации могутбыть использованным, объявите роли (@DeclareRoles, которые пришли в спецификации 2.5 сервлета) в самом сервлете, прежде чем определять, какие роли имеют доступ к какому методу HTTP (используя @RolesAllowed).Вы также можете использовать аннотации, такие как @DenyAll и @PermitAll, чтобы разрешить или запретить доступ всем пользователям.@TransportProtected обеспечит доступ к методу HTTP через HTTPS.Все, что нужно сделать, - это сопоставить эти роли в исходном коде с реальными ролями в области JAAS;это часто делается с использованием файла дескриптора, специфичного для контейнера.

ADDENDUM

Поскольку вы используете JSP, а не Facelets или какую-либо другую технологию для уровня представления, вас может заинтересоватьв тегах JSP, предлагаемых Spring Security .Гораздо понятнее, что поддержание всех метаданных авторизации в огромном файле web.xml.

Что касается JPA, то основной доступ к ним обычно обеспечивается сервлетами или EJB-компонентами.Конечно, вы можете встроить более программную защиту в зависимости от ваших потребностей - использование прослушивателей сущностей поможет в этом процессе, поскольку вы сможете перехватывать операции загрузки, обновления и сохранения (если вы именно этот, но по большей части сборкабезопасности перед выполнением вашей бизнес-логики обычно достаточно)EE.

1 голос
/ 05 августа 2010

Что-то более новое, чем JAAS, - это Spring Security .Он поддерживает JSR-350 (EJB 3) и, следовательно, будет нормально работать в Java EE.

1 голос
/ 05 августа 2010

Я недавно работал над приложением Java EE с JAAS . Это довольно актуально, вы можете проверить это домашняя страница в Oracle .

Работает с ролями, аутентификацией и т. Д.

Вы можете использовать его в JBoss и Glassfish , вероятно, в остальных AS.

0 голосов
/ 10 августа 2010

Руководство по безопасности Spring https://www.packtpub.com/spring-security-3/book. Настоятельно рекомендуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...