Actualmente estoy trabajando en un proyecto que se ejecuta en JBoss AS 7 y que requiere autenticación de varias fuentes. Estoy tratando de comprender los diversos componentes que se combinan para proporcionar autenticación.Entender la autenticación en un servidor de aplicaciones Java
Tengo algunas suposiciones/suposiciones sobre cómo encaja todo esto, pero necesito asegurarme de que mi comprensión es correcta. A continuación, lo que entiendo es el proceso de autenticación de JBoss AS7.
Tiene un dominio de seguridad que define cómo se autentican los usuarios. Este dominio queda expuesto a su aplicación para asegurar una parte o la totalidad. En AS7 esto se configura en el subsistema < xmlns = "urn: jboss: domain: security: 1.0" > element.
El reino se puede configurar para autenticar usuarios en una variedad de orígenes mediante el uso de módulos de inicio de sesión, como una base de datos, LDAP, un archivo local u otra cosa. Se pueden definir múltiples módulos de inicio de sesión, y puede especificar que una combinación de módulos de inicio de sesión debe "tener éxito" para que se produzca la autenticación.
El nombre de usuario real y las contraseñas se pasan a través de un mecanismo definido en el archivo web.xml (para servlets), definido en el elemento < login-config >.
Suponiendo que el proceso anterior es correcta (y puede que no sea):
- ¿Esta caída de todo el proceso de autenticación bajo una especificación como JAAS, o es JAAS sólo una parte pequeña o facultativo de ¿este procedimiento?
- ¿Todos los tipos de < auth-methods > (es decir, BASIC, DIGEST y FORM) funcionan con todo tipo de módulos de inicio de sesión? This page parece sugerir que no, pero no he visto ninguna documentación clara que coincida con < login-module > opciones < login-config > opciones.
- El nombre de usuario y el flujo de contraseñas desde un inicio de sesión a un módulo de inicio de sesión parece sencillo, pero ¿qué sucede con los sistemas como OpenID o OAuth donde hay pasos intermedios (como redirección a páginas de inicio de sesión externas)?
- ¿Cómo encajan proyectos como Seam 3 Security, Apache Shiro y Spring Security en esta imagen?
Para dar seguimiento a la respuesta Yves', se puede encontrar más información sobre Apache Shiro aquí: http://shiro.apache.org no dude en enviar a la lista si tiene algún problema. – Chunsaker