Saltar al contenido

¿Cuál es el AuthenticationManager predeterminado en Spring-Security? ¿Cómo se autentica?

Esta división ha sido probado por nuestros especialistas así se asegura la veracidad de nuestro contenido.

Solución:

El AuthenticationManager es realmente solo un contenedor para proveedores de autenticación, que les brinda una interfaz coherente a todos ellos. En más casos, el defecto AuthenticationManager es más que suficiente.

Cuando usted llama

.authenticate(new UsernamePasswordAuthenticationToken(username, password))`

está pasando el UsernamePasswordAuthenticationToken al valor predeterminado AuthenticationProvider, que utilizará el userDetailsService para obtener el usuario según el nombre de usuario y comparar la contraseña de ese usuario con la del token de autenticación.

En general, el AuthenticationManager pasa una especie de AuthenticationToken a cada uno de ellos AuthenticationProviders y cada uno de ellos lo inspecciona y, si pueden usarlo para autenticarse, regresan con una indicación de “Autenticado”, “No autenticado” o “No se pudo autenticar” (lo que indica que el proveedor no sabía cómo manejar el token, por lo que pasó procesándolo)

Este es el mecanismo que le permite conectar otros esquemas de autenticación, como autenticarse contra un servidor LDAP o Active Directory, u OpenID, y es uno de los principales puntos de extensión dentro del marco de Spring Security.

Spring Security envía solo uno real AuthenticationManager implementación:

org.springframework.security.authentication.ProviderManager

Esto usa diferentes AuthenticationProvider para las tareas de autenticación

El AuthenticationManagerBeanDefinitionParser es responsable de analizar su documento de Java dice:

Registra el ProviderManager central utilizado por la configuración del espacio de nombres y permite la configuración de un alias, lo que permite a los usuarios hacer referencia a él en sus beans y ver claramente de dónde proviene el nombre.

Crea el ProviderManager y agrega lo especificado proporciona. Si no se especifica ningún provide en el xml, entonces agrega un NullAuthenticationProvider. Este es al menos un proveedor que hace notar que prevenir excepciones de configuración.

De Spring Security Docs:

La implementación predeterminada en Spring Security se llama ProviderManager y en lugar de manejar la solicitud de autenticación en sí, delega en una lista de configurados Proveedor de autenticacións, cada uno de los cuales se consulta a su vez para ver si puede realizar la autenticación. Cada proveedor lanzará una excepción o devolverá un Autenticación objeto.

Información sobre ProviderManager también se puede encontrar en Topical Guide – Spring Security Architecture:

La implementación más utilizada de AuthenticationManager es
ProviderManager, que delega a una cadena de Proveedor de autenticación
instancias. Un Proveedor de autenticación es un poco como un
AuthenticationManager pero tiene un método adicional para permitir a la persona que llama consultar si admite un determinado Autenticación escribe…

Puntuaciones y reseñas

Puedes corroborar nuestro ensayo ejecutando un comentario y puntuándolo te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 3.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *