У меня плохое понимание JAAS. Все это кажется более сложным, чем должно быть (особенно учебники Sun). Мне нужно простое учебное пособие или пример того, как реализовать безопасность (аутентификация + авторизация) в Java-приложении на основе Struts + Spring + Hibernate с пользовательским репозиторием пользователей. Может быть реализован с использованием ACEGI.JAAS для людей
ответ
Вот некоторые ссылки я использовал, чтобы помочь понять JAAS:
http://www.owasp.org/index.php/JAAS_Tomcat_Login_Module
http://www.javaworld.com/jw-09-2002/jw-0913-jaas.html
http://jaasbook.wordpress.com/
также взглянуть на котом царств Apache Конфигурация:
спасибо :) Книга jaas действительно хорошая – Makky
Ссылка для jaasbook мертва. Теперь он перемещен в https://jaasbook.wordpress.com/ –
@Martlark, я хотел бы сделать добавление, если это возможно. Я считаю, что [мой ответ] (http://stackoverflow.com/a/43220700/3542189) может помочь в понимании вашего ответа. Концептуально говоря. – pss1suporte
Для чисто учебного курса JAAS обращайтесь к this. Он старый, но должен помочь с основами JAAS.
Я не могу говорить слишком много, чтобы сам JAAS, но это "suggested steps" guide на Spring Security и the reference manual являются оба очень хорошие ресурсы на Spring Security - если ваша установка что-нибудь близко к простому, вы на самом деле не нужно делать гораздо больше, чем читать их.
Переведено руководство по предлагаемым шагам: http://static.springsource.org/spring-security/site/start-here.html – aliopi
спасибо, обновил ссылку –
Другие пользователи предоставили несколько очень полезных ссылок, поэтому я не буду беспокоиться о ссылках. Я провел аналогичные исследования в JAAS для веб-приложений и столкнулся с «блокпостом разума», пока, наконец, не осознаю, что JAAS - это платформа, защищающая безопасность на другом «слое», а затем веб-приложениях в Java World. Он построен для решения проблем безопасности в Java SE, а не в Java EE.
JAAS - это система безопасности, созданная для обеспечения безопасности на гораздо более низком уровне, чем веб-приложение. Некоторым примером этих вещей являются код и ресурсы, доступные на уровне JVM, и, следовательно, все эти возможности устанавливать файлы политики на уровне JVM.
Однако, поскольку Java EE построена поверх Java SE, несколько модулей из JAAS были повторно использованы в безопасности Java EE, таких как LoginModules и Callbacks.
Обратите внимание, что в дополнение к безопасности Java EE существует также безопасность Spring (ранее известная как Acegi), которая похожа на встроенную защиту Java EE, обеспечивает гораздо более высокий «уровень» в проблеме обеспечения безопасности веб-приложения. Это отдельная реализация безопасности и не построена поверх стандартной безопасности Java EE, хотя она ведет себя аналогично во многих отношениях.
Подводя итог, если вы не хотите защищать ресурсы на уровне Java SE (классы, системные ресурсы), я не вижу реального использования JAAS, кроме использования общего класса и интерфейсов. Просто сосредоточьтесь на использовании Spring Security или простой старой безопасности Java EE, которые одновременно решают множество проблем безопасности веб-приложений.
Java EE 6 Tutorial предполагает понимание основных концепций безопасности, поэтому небольшой обзор JAAS не повредит. – jacktrades
Лучшее объяснение на JAAS когда-либо! –
@isiu, я хотел бы сделать добавление, если это возможно. Я считаю, что [мой ответ] (http://stackoverflow.com/a/43220700/3542189) может помочь в понимании вашего ответа. Концептуально говоря. – pss1suporte
javax.security - это сложный API-интерфейс imho. В результате есть разработчики не только LoginModules, но и вся аутентификация и авторизация api, которая создает слой абстракции выше, например Authentication & Менеджеры авторизации.
Для начала, хорошо напечатать this в вашу память.
Во-вторых, имхо самый простой, установка & go библиотека для JAAS - Jboss PicketBox. В нем говорится, как выполнять аутентификацию и авторизацию через JBossAuthenticationManager и JBossAuthorizationManager ... Легко настраивается с помощью XML или аннотаций. Вы можете использовать его для управления как webapps, так и автономными приложениями.
Если вам нужна авторизационная часть для управления доступом к репозиторию, с точки зрения ACL для ресурсов, это то, что вы ищете.
Проблема с безопасностью в том, что обычно вам нужно настроить его под свои нужды, так что вы можете в конечном итоге реализации:
LoginModule - проверяет имя_пользователя + пароль
CallbackHandler используется как это new LoginContext("Sample", new MyCallbackHandler());
CallbackHandler передается базовым модулям LoginModules, чтобы они могли общаться и взаимодействовать с пользователями - запрос имени пользователя и пароля с помощью графического пользовательского интерфейса rface, например. Таким образом, внутри Handler вы получаете имя пользователя и пароль от пользователя и передается в LoginModule.
LoginContext - тогда вы просто вызываете lc.login(); и аутентифицировать учетные данные. LoginContext заполняется аутентифицированным объектом.
Однако пистолет Jboss дает вам действительно простой способ, если вам не нужно что-то конкретное. Ответ
lsiu является одним из немногих ответов здесь, что на самом деле «получить его»;)
Добавление к этому ответу, действительно хорошая ссылка на эту тему Whatever Happened to JAAS?.
В нем объясняется, как JASPIC является ссылкой в Java EE между моделями безопасности Servlet и EJB и, возможно, модулем входа JAAS, но во многих случаях роль JAAS сводится к роли относительно простого поставщика имен и ролей в Java EE.
От этого же автора JAAS in the Enterprise, который представляет собой более старую статью, но дает много исторических данных о том, почему модели Java SE (JAAS) и Java EE расходились так, как они это делали.
В целом, но несколько типов от JAAS используются непосредственно в Java EE, в основном Principal
, Subject
и CallbackHandler
. Последние два в основном используются JASPIC. Я объяснил JASPIC в статье Implementing container authentication in Java EE with JASPIC.
- 1. JAAS для android
- 2. Фильтр для входа в JAAS?
- 3. Регулярное выражение для людей
- 4. Язык разметки для людей
- 5. Аутентификация микросервиса JAAS
- 6. Tomcat/JAAS - Поиск DataSource
- 7. Защита файла конфигурации JAAS
- 8. JAAS пользовательский модуль регистрации
- 9. JAAS с сервлетом
- 10. Glassfish, Jackrabbit и JAAS
- 11. конфигурации JAAS на TomEE
- 12. интегрировать JAAS с wildfly
- 13. j_security_check и JAAS
- 14. где мы используем JAAS
- 15. Настройка JAAS на OC4J
- 16. Jaas JDBC Authentication
- 17. Аутентификация с помощью JAAS
- 18. Относительный путь для конфигурации ключа JAAS
- 19. JAAS: Использовать приложение для проверки подлинности Tomcat
- 20. Пример входного модуля SAML для JAAS
- 21. Может ли JaaS использоваться для отдыха?
- 22. Использование JMX с JAAS для аутентификации Jconsole
- 23. конфигурации JAAS от Tomcat для Glassfish
- 24. Websphere 6.1 JAAS Logout
- 25. JAAS "Обязательно" флаг
- 26. JAAS и Wildfly10
- 27. Программируемая авторизация в JAAS
- 28. Какой смысл JAAS
- 29. JAAS Basic Authentication 7
- 30. Glassfish JAAS active directory
Удивительный вопрос. Отличный аргумент в пользу законного отказа документации. –
Лучшие вопросы и ответы на JAAS. У меня было очень тяжелое время, пытаясь начать с него. – cristiandley
@mattb, я хотел бы сделать добавление, если это возможно. Я считаю, что [мой ответ] (http://stackoverflow.com/a/43220700/3542189) может помочь в понимании вашего вопроса. Концептуально говоря. – pss1suporte