Security in Java applications
Терминология
• Authentication (auth) – Идентификация пользователя
• Authorization (authz) – проверка прав пользователя
• Типы Auth в веб-приложении– Basic– Form– SSO (NTLMv2, OpenID, Custom)
Типовая модель данных
• Пользователи• Роли• N-N между пользователями и ролями• Ресурсы / режим доступа• N-N между ролями и ресурсами
Где хранить данные для auth/authz
• Своя база данных (на уровне приложения)• LDAP– Корпоративный LDAP– MS Active Directory
Способы реализации
• С использованием стандарта JEE Security – Контейнер реализует механизмы auth/authz– Администратор настраивает сервер
приложений для своей инфраструктуры• Своя реализация или Spring Security– Большая гибкость в логике– Независимость от сервера приложений