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