El proceso y configuración de Shiro implementando la función de inicio de sesión
②Después de ingresar al servidor, primero pase el filtro de codificación Spring para procesar la codificación.
web.xml
③ Cuando se inicia el servidor, se creará un securityManager, que es similar a DispatcherServlet y se utiliza para administrar de manera uniforme las operaciones de inicio de sesión.
? El nombre de usuario y la contraseña generan un token para preparar la autenticación
④ Cree su propio Reino y pase la fuente de datos al contenedor Spring para su administración
shiro.ini
le dice a shiro que configure el reino de la fuente de datos
⑤ SecurityManager recupera la fuente de datos de Spring y la autentica.
⑤ El administrador de seguridad obtiene la fuente de datos de Spring y la verifica. (Primero verifique el nombre de usuario, luego verifique la contraseña. Después de una verificación exitosa, el usuario será colocado en el caché (sesión) para su verificación)
Las páginas posteriores enviarán solicitudes con el ID de sesión para verificar si el usuario existe. (Aquí está el código fuente)
⑥ Una vez completada la autenticación, pasará por una serie de filtros
¿Estos filtros están configurados en shiro.xml?
Configurar el proxy de filtro de shiro DelegatingFilterProxy en web.xml. Cuando se inicia el servidor, estos objetos de filtro se buscan en Spring para formar una cadena de llamadas.
Los filtros de Shiro suelen tener prioridad sobre los filtros del servidor.
⑦ Cree un filtro autoconstruido y devuelva información AJAX
⑧ Después de una serie de filtros, la página que recibe la información devuelta
En este punto, La verificación de inicio de sesión de Shiro está completa. La información del usuario existe en la sesión (encapsulada por Shiro).
En la misma sesión, múltiples solicitudes a la página encontrarán la información del usuario en el servidor llevando el ID de sesión para verificar si el usuario ha iniciado sesión.
Aquí está el código fuente
La función de cierre de sesión de Shiro también obtiene la sesión y la borra.