javax.security - это слишком сложный API. В результате есть разработчики не только LoginModules, но и всего API аутентификации и авторизации, который создает уровень абстракции выше, например менеджеры аутентификации и авторизации.
Для начала хорошо бы распечатать это в своей памяти.
Во-вторых, imho, самая простая библиотека для настройки и работы JAAS - это Jboss PicketBox . В нем говорится, как выполнять аутентификацию и авторизацию через JBossAuthenticationManager и JBossAuthorizationManager ... Легко настраивается через XML или аннотации. Вы можете использовать его для управления как веб-приложениями, так и автономными приложениями.
Если вам нужна часть авторизации для управления доступом к репозиторию с точки зрения ACL для ресурсов, это то, что вы точно ищете.
Проблема с безопасностью заключается в том, что обычно вам нужно настроить ее в соответствии с вашими потребностями, поэтому вы можете в конечном итоге реализовать:
LoginModule - проверяет имя пользователя + пароль
CallbackHandler используется такnew LoginContext("Sample", new MyCallbackHandler());
CallbackHandler передается в базовые модули LoginModules, чтобы они могли общаться и взаимодействовать с пользователями - например, запрашивая имя пользователя и пароль через графический интерфейс пользователя. Итак, внутри обработчика вы получаете имя пользователя и пароль от пользователя, которые передаются в LoginModule.
LoginContext - тогда вы просто вызываете lc.login (); и подтвердите учетные данные. LoginContext заполняется аутентифицированным Subject.
Однако пикетбокс Jboss дает вам действительно простой способ, если вам не нужно что-то конкретное.