javax.security to zbyt skomplikowany interfejs API. W rezultacie istnieją implementatorzy nie tylko LoginModules, ale całego interfejsu API uwierzytelniania i autoryzacji, który tworzy warstwę abstrakcji powyżej, podobnie jak menedżerowie uwierzytelniania i autoryzacji.
Na początek dobrze jest wydrukować to w swojej pamięci.
Po drugie, imho najprostszą biblioteką do konfiguracji i pracy dla JAAS jest Jboss PicketBox . Mówi, jak wykonać uwierzytelnianie i autoryzację za pośrednictwem JBossAuthenticationManager i JBossAuthorizationManager ... Łatwo konfigurowalne za pomocą XML lub adnotacji. Możesz go używać do zarządzania zarówno aplikacjami internetowymi, jak i samodzielnymi aplikacjami.
Jeśli potrzebujesz części autoryzacyjnej do zarządzania dostępem do repozytorium, w zakresie ACL dla zasobów, tego na pewno szukasz.
Problem z bezpieczeństwem polega na tym, że zazwyczaj musisz dostosować go do swoich potrzeb, więc możesz w końcu zaimplementować:
LoginModule - weryfikuje nazwę użytkownika + hasło
CallbackHandler jest używany w ten sposóbnew LoginContext("Sample", new MyCallbackHandler());
CallbackHandler jest przekazywany do bazowych LoginModules, dzięki czemu mogą komunikować się i wchodzić w interakcje z użytkownikami - na przykład monitując o nazwę użytkownika i hasło za pośrednictwem graficznego interfejsu użytkownika. Tak więc wewnątrz Handler otrzymujesz nazwę użytkownika i hasło od użytkownika i są one przekazywane do LoginModule.
LoginContext - wtedy po prostu wywołujesz lc.login (); i uwierzytelnij poświadczenia. LoginContext jest wypełniany uwierzytelnionym tematem.
Jednak pikieta Jboss daje naprawdę łatwy sposób, chyba że potrzebujesz czegoś konkretnego.