javax.security es en mi humilde opinión una API demasiado complicada. Como resultado, hay implementadores no solo de LoginModules, sino de toda la API de autenticación y autorización, que crea la capa de abstracción anterior, como los administradores de autenticación y autorización.
Para empezar, es bueno imprimir esto en su memoria.
En segundo lugar, en mi humilde opinión, la biblioteca de configuración e inicio más simple para JAAS es Jboss PicketBox . Dice cómo realizar la autenticación y autorización a través de JBossAuthenticationManager y JBossAuthorizationManager ... Fácilmente configurable mediante XML o Anotaciones. Puede usarlo para administrar tanto aplicaciones web como aplicaciones independientes.
Si necesita la parte de autorización para administrar el acceso al repositorio, en términos de ACL para recursos, esto es lo que está buscando con seguridad.
El problema con la seguridad es que, por lo general, debe personalizarlo según sus necesidades, por lo que puede terminar implementando:
LoginModule : verifica el nombre de usuario + contraseña
CallbackHandler se usa asínew LoginContext("Sample", new MyCallbackHandler());
CallbackHandler se pasa a los LoginModules subyacentes para que puedan comunicarse e interactuar con los usuarios, solicitando un nombre de usuario y una contraseña a través de una interfaz gráfica de usuario, por ejemplo. Entonces, dentro del Handler, obtiene el nombre de usuario y la contraseña del usuario y se pasa al LoginModule.
LoginContext - entonces simplemente llame a lc.login (); y autenticar las credenciales. LoginContext se completa con el Asunto autenticado.
Sin embargo, Jboss picketbox le ofrece una forma realmente fácil de hacerlo, a menos que necesite algo específico.