В настоящее время я работаю над проектом, работающим на JBoss AS 7, который требует аутентификации из разных источников. Я пытаюсь понять различные компоненты, которые объединяются для обеспечения аутентификации.
У меня есть некоторые предположения/догадки о том, как все это сочетается, но мне нужно убедиться, что мое понимание верное. Итак, ниже я понимаю, что процесс проверки подлинности для JBoss AS7.
У вас есть область безопасности, которая определяет, как пользователи аутентифицируются. Затем эта область подвергается действию вашего приложения, чтобы защитить его или ее часть. В AS7 это настроено в < подсистеме xmlns = "urn: jboss: domain: security: 1.0" > элемент.
Область может быть настроена для аутентификации пользователей с помощью различных источников с использованием модулей входа в систему, таких как база данных, LDAP, локальный файл или что-то еще. Можно определить несколько модулей входа, и вы можете указать некоторую комбинацию модулей входа, которые должны быть "успешными" для аутентификации.
Фактическое имя пользователя и пароли передаются через механизм, определенный в файле web.xml(для сервлетов), определенный в < login-config > элемент.
Предполагая, что вышеуказанный процесс верен (и может быть не так):
- Подходит ли весь этот процесс аутентификации к спецификации JAAS или JAAS - это небольшая или дополнительная часть этой процедуры?
- Все типы < auth-methods > (т.е. BASIC, DIGEST и FORM) работают со всеми типами логин-модулей? Эта страница, похоже, не предполагает, но я не видел четкой документации, соответствующей < login-module > options < login-config > варианты.
- Поток имени пользователя и пароля из login-config в модуль входа в систему кажется достаточно прямым, но что происходит с такими системами, как OpenID или OAuth, где есть промежуточные шаги (например, перенаправление на внешние страницы входа)?
- Как такие проекты, как Безопасность Seam 3, Apache Shiro и Spring Безопасность вписывается в это изображение?