Red de conocimiento informático - Problemas con los teléfonos móviles - SpringBootShiro implementa el inicio de sesión sin estado

SpringBootShiro implementa el inicio de sesión sin estado

Usar Shiro para implementar el inicio de sesión con estado, es decir, el estado de inicio de sesión del usuario se almacena en la sesión del servidor, es relativamente simple de implementar usando Shiro, por lo que no entraré en detalles aquí.

En algunos entornos, puede ser necesario hacer que la aplicación web sea sin estado, es decir, sin estado del lado del servidor, es decir, el lado del servidor no almacenará cosas como sesiones, sino que las almacenará con cada solicitud. Un token u otro contenido determinable por el usuario.

Los pasos principales para implementar el inicio de sesión sin estado usando Shiro incluyen deshabilitar el almacenamiento en caché, configurar para no crear sesiones, desactivar la validación de sesiones, desactivar el almacenamiento de sesiones, inyectar interceptores personalizados y activar las anotaciones de Shiro (por ejemplo, @ RequiresRoles, @RequiresPermissions) espera.

Obtener el token, donde el token está escrito como admin

Agregar, eliminar, cambiar y verificar interfaces y establecer los permisos de acceso requeridos

Clave Es configurado para no crear una sesión

La función principal es interceptar solicitudes http de autenticación y autorización. Tenga cuidado de no interceptar solicitudes de inicio de sesión

En el interceptor StatelessAuthcFilter, se llamará a StatelessRealm. identidad del token Autenticación y autorización de usuario.

Aquí configuro el token en administrador para tener permisos para agregar, eliminar, cambiar y recuperar.

Cuando el token es usuario, solo tiene permisos de verificación.

Para otros tokens, no hay permiso.

Incluye principalmente deshabilitar el caché, no crear sesiones, desactivar la verificación de sesiones, desactivar el almacenamiento de sesiones, inyectar interceptores de configuración, activar comentarios de verificación de permisos, etc.