Red de conocimiento informático - Problemas con los teléfonos móviles - Análisis del proceso de autenticación SpringSecurity JWT

Análisis del proceso de autenticación SpringSecurity JWT

Este artículo es adecuado para estudiantes que tienen un poco de conocimiento de Spring Security o que han ejecutado una demostración simple pero no comprenden el proceso operativo general. Si está interesado en Spring Security, también puede usarlo como. Un tutorial introductorio para usted. Hay muchos comentarios en el código de muestra.

Cuando construimos un sistema, el primer módulo que generalmente construimos es el módulo de autenticación y autorización, porque esta es la entrada al sistema y el enlace más importante y básico del sistema en la verificación de identidad. Una vez establecido el diseño del servicio de autorización, se puede acceder de forma segura a otros módulos.

Los marcos generales para autenticación y autorización en el mercado son shiro y Spring Security, y la mayoría de las empresas optan por desarrollarlos ellas mismas. He visto muchos tutoriales introductorios sobre Spring Security antes, pero siento que no son muy buenos, así que compartí mis pensamientos mientras jugaba con Spring Security en los últimos dos días, espero que sea útil para los amigos interesados.

Usamos principalmente el marco de Spring Security para resolver una función de autenticación y autorización, por lo que mi artículo se dividirá en dos partes:

Usaré un caché JWT de Spring Security La demostración Para mostrarles de qué quiero hablar, después de todo, las cosas en mi mente deben estar encarnadas de manera concreta, y las cosas más específicas pueden ser más específicas. Primero, usaré una demostración del caché Spring Security JWT para mostrarles lo que quiero. hablar de.

Al aprender cosas nuevas, recomiendo utilizar un enfoque de aprendizaje de arriba hacia abajo para que puedas comprender mejor las cosas nuevas en lugar de intentar descubrir el elefante a ciegas.

Nota: Solo la autorización de autenticación de usuario no implica autorización de terceros, como oauth2.

Si quieres comenzar a usar Spring Security, primero debes comprender su flujo de trabajo, porque no es como un conjunto de herramientas, para usarlo debes tener cierta comprensión del mismo y luego, de acuerdo con su propósito. Acciones personalizadas.

Primero podemos echar un vistazo a su flujo de trabajo:

Hay esta oración en la documentación oficial de Spring Security:

La base web de Spring Security es Filters <. /p>

Esta oración muestra la filosofía de diseño de Spring: las solicitudes web se procesarán a través de una capa de filtros.

Expresado en lenguaje como Spring Security real:

La solicitud de red pasará por la cadena de filtro y el proceso de autenticación y autorización se completará durante la cadena de filtro. Si se descubre que la solicitud no está autenticada o autorizada, se generará una excepción basada en los permisos de la API protegida y luego se generará un filtro para protegerla. Si se determina que la solicitud no está validada o no está autorizada, se generará una excepción basada en los permisos de la API protegida y será manejada por el controlador de excepciones.

Si usas imágenes, puedes dibujarlas así, aquí está la imagen que encontré en Baidu:

Como se muestra en la imagen de arriba, la solicitud para acceder a la API irá de izquierda a derecha a través del azul Entre los filtros del cuadro, la parte verde es el filtro responsable de la autenticación, la parte azul es responsable del manejo de excepciones y la parte naranja es la autorización.

Hoy no hablaremos de los dos filtros verdes en la imagen, porque estos son los dos filtros integrados en Spring Security para la autenticación de formularios y la autenticación básica, y nuestra demostración es el método de autenticación JWT para que podamos. No lo uso.

Si has utilizado Spring Security, debes saber que existen dos configuraciones llamadas formLogin y /post/6846687598442708999.