Безопасность Java Framework

Безопасность всегда имеет тенденцию занимать последнее место в новом проекте. Или вы используете фреймворк вроде Spring, где безопасность уже встроена и может быть легко включена. Я пытаюсь найти открытую инфраструктуру безопасности, которая может быть подключена как к Swing, так и к веб-приложениям (и JavaFX?), Может быть легко переваривается. Я посмотрел на простые JAAS, JGuard и JSecurity, но это было слишком сложно, чтобы начать. Любые рекомендации или опыт для обмена? Я работаю с NB, Glassfish и MySQL. благодаря Свен

Ответ 1

Я только что взглянул на это http://shiro.apache.org/

Apache Shiro - мощный и простая в использовании инфраструктура безопасности Java который выполняет аутентификацию, авторизация, криптография и управление сеансами. С Широсом простой в понимании API, вы можете быстро и легко приложение - от самого маленького мобильного приложений к крупнейшей сети и корпоративные приложения.

Ответ 2

Я бы настоятельно рекомендовал учиться JAAS. Это действительно не так сложно подобрать, и есть несколько полезных tutorials и справочное руководство на веб-сайте Sun.

По моему опыту, JAAS довольно широко используется, поэтому определенно вы сможете повторно использовать его, как только вы его узнаете. Он также является одним из основных блоков механизма аутентификации Glassfish!

Ответ 3

Я сделал аналогичные исследования в JAAS для веб-приложений и столкнулся с "блокпостом разума", пока, наконец, не осознаю, что JAAS - это инфраструктура, защищающая безопасность на другом "слое", а затем традиционные веб-приложения в Java World. Он создан для решения проблем безопасности в J2SE, а не J2EE.

JAAS - это структура безопасности для обеспечения безопасности на гораздо более низком уровне, чем веб-приложение. Некоторыми примерами этих вещей являются код и ресурсы, доступные на уровне JVM, следовательно, все эти возможности позволяют устанавливать файлы политики на уровне JVM.

Однако, поскольку J2EE построен поверх J2SE, несколько модулей из JAAS были повторно использованы в безопасности J2EE, таких как LoginModules и Callbacks.

С другой стороны, Acegi, aka Spring Security, решает гораздо более высокий "уровень" в проблеме обеспечения безопасности веб-приложения. Он построен поверх безопасности J2EE, поэтому J2SE, следовательно, JAAS. Если вы не хотите защищать ресурсы на уровне J2SE (классы, системные ресурсы), я не вижу реального использования JAAS, кроме использования общего класса и интерфейсов. Просто сосредоточьтесь на использовании Acegi или простой старой безопасности J2EE, которая решает множество проблем безопасности веб-приложений.

В конце дня важно узнать, какой "уровень" проблемы безопасности J2EE-J2SE вы решаете, и выберите инструмент записи для проблемы.

Ответ 5

Я бы порекомендовал вам взглянуть на OACC (http://oaccframework.org). OACC был разработан для решения проблемы безопасности приложений. В отличие от большинства фреймворков OACC может хранить/управлять отношениями авторизации в вашем приложении. Модель авторизации OACC более эффективна, чем Shiro или Spring Безопасность.

Ответ 6

apache shiro ужасно терпит неудачу, когда вы подчеркиваете веб-приложение под JBoss (скажем, 2 миллиона запросов простого GET с concurrency из 50 потоков). было очень неудобно, чтобы это выяснить. это происходит при использовании фильтров.