безопасности состоит из следующих аспектов:
- Authentication
- Авторизация
- Транспортная безопасность слой - Шифрование
Аутентификация - это заключается в проверке полномочий пользователя; в большинстве случаев это реализуется с помощью механизма входа. Ваша задача создания страницы входа является частью проверки подлинности.
Авторизация: - ресурсы приложений должны быть защищены от несанкционированного доступа, что означает, что когда пользователь запрашивает защищенный ресурс, приложение должно гарантировать, что пользователь имеет соответствующие права доступа. Обычно это делается путем назначения ролей пользователю и установки фильтров запросов, которые проверяют права доступа пользователя. Эта часть более важна и требует детального проектного анализа. Просто проверки подлинности пользователя недостаточно, вам необходимо обеспечить, чтобы защищенные ресурсы не были доступны тем пользователям, которые не авторизованы для них.
Безопасность транспортного уровня: - системная архитектура должна гарантировать, что данные, передаваемые по сети, не попадают в руки хакеров или снифферов. SSL/TSL используется для достижения этого
Контейнеры и фреймы J2EE, такие как Spring security, обеспечивают общие функции для каждого аспекта безопасности.
То, что вы пытаетесь разработать, - это простой механизм аутентификации.Безопасность приложений больше требует, когда дело доходит до контроля доступа, то есть авторизации.
Также необходимо, чтобы безопасность масштабируемой т.е. как бизнес нуждается в изменениях для интеграции систем и безопасности вашей системы должны быть в состоянии адаптироваться к вещам, как Single Sign On (SSO), аутентификации LDAP и т.д.
Хотя JAAS и контейнер безопасности достаточно хорош для масштабирования, но есть несколько ограничений с тем же. Например, вам нужно будет зависеть от конкретных конфигураций и адаптеров конкретного поставщика. Ваше приложение будет объявлять потребности безопасности в дескрипторах развертывания, а администраторы серверов должны настроить области безопасности на сервере.
Я бы порекомендовал вас оценить рамки Spring Security (ранее Acegi Security). Мы использовали то же самое во многих наших проектах и нашли его надежным, настраиваемым и простым в реализации. Он поставляется с набором фильтров, которые перехватывают ваш запрос и обеспечивают контроль доступа. Framework может использоваться для проверки пользователей в отношении различных пользовательских репозиториев, таких как база данных, серверы LADP, безопасность ОС и т. Д. Он расширяем и может быть интегрирован с SSO-серверами. Он также предоставляет полезные taglibraries для контроля доступа к частям на страницах JSP. Мало того, что эта структура также обеспечивает безопасность уровня метода, которая может быть наложена на уровне класса через Spring AOP framework