Red de conocimiento informático - Problemas con los teléfonos móviles - Filtros en Shiro

Filtros en Shiro

DefaultFilter

El filtro predeterminado proporcionado en Shiro

FilterChainManager

Utilice esta configuración para crear la cadena de filtros correspondiente.

Shiro usa esta configuración para inicializar filterChain en FilterChainManager. La estructura es url -> SpringShiroFilter

Intercepta el filtro de entrada de todas las solicitudes. y agrega La URL de solicitud coincide con la cadena de filtro correspondiente, y luego la solicitud se autentica o autoriza a través de la cadena

OncePerRequestFilter

OncePerRequestFilter se usa para evitar que el filtro se ejecute varias veces; Es decir, si el filtro se ejecuta varias veces, la solicitud será verificada o autorizada. es decir, múltiples ejecuciones del filtro; es decir, la solicitud solo pasará a través de la cadena del interceptor una vez

Además, el atributo habilitado también se proporciona para indicar si se abre esta instancia del interceptor

p>

implementa el método doFilter, que proporciona el método abstracto doFilterInternal.

doFilter verificará si el filtro actual se ha ejecutado antes, si se ha ejecutado una vez o el filtro actual está deshabilitado, se ejecutará el siguiente filtro, si aún no se ha ejecutado, el método doFilterInternal se ejecutará

p>

El método AbstractShiro.DoFilterInternal proporciona un método abstracto doFilterInternal. strong> AbstractShiroFilter

Cree un tema, vincule el tema al hilo actual, obtenga filterChain de acuerdo con la URL y ejecute filterChain

PathMatchingFilterChainResolver

Combine los FilterChain en FilterChainManager con la solicitud Si la URL coincide, este método devolverá un ProxiedFilterChain

Obtenga FilterChain según la URL y ejecute FilterChain. strong>

ProxiedFilterChain

Almacena el filtro de Tomcat y el filtro interno de Shiro

El filtro interno de Shiro cambia al filtro de Tomcat una vez completado para continuar Ejecutar PermissionsAuthorizationFilter

Verificar el permiso del usuario para acceder al recurso

HttpMethodPermissionFilter

Devolver el método de solicitud HTTP (por ejemplo, PET, POST, HttpMethod, HttpMethodPermissionFilter). Por ejemplo, obtener traducciones para leer, poner traducciones para actualizar, publicar traducciones para crear, etc.

Configuración de permisos: /users perms[usuarios]

Solicitud: get /users

Verificará si el usuario tiene usuarios: permiso de lectura

RolesAuthorizationFilter

Verificar que el usuario tiene el rol correcto

UserFilter