Red de conocimiento informático - Problemas con los teléfonos móviles - SecurityContextHolder.getContext().getAuthentication() ¿Por qué los resultados de la ejecución de la declaración anterior difieren en Security 3.1 y 2.0?

SecurityContextHolder.getContext().getAuthentication() ¿Por qué los resultados de la ejecución de la declaración anterior difieren en Security 3.1 y 2.0?

La seguridad de Spring no depende completamente de HttpSession para guardar objetos de usuario, sino que los coloca en threadlocal.

A través de HttpSessionIntegrationFilter, también se sincronizará con HttpSession. En entornos que no son Daoservlet, HttpSession se puede obtener directamente a través de SecurityContextHolder. En entornos Serlvet, se puede obtener a través de sesión.

springSecurityFilterChain

org.springframework.web.filter.DelegatingFilterProxy es un filtro para filtrar HttpSession. DelegatingFilterProxy

springSecurityFilterChain

/*

Información ampliada:

El soporte de Spring Security para la seguridad web se basa principalmente en filtros de servlet. Estos filtros interceptan las solicitudes entrantes y realizan algún procesamiento de seguridad antes de que la aplicación maneje la solicitud. Spring Security proporciona varios filtros para mejorar la seguridad al interceptar las solicitudes de Servlet y reenviarlas al Administrador de decisiones de acceso y autenticación para su procesamiento. Dependiendo de sus necesidades, puede utilizar filtros adecuados para proteger su aplicación.

Si has utilizado filtros de Servlet y los tienes funcionando correctamente, debes configurarlos en el archivo web.xml de tu aplicación web utilizando los elementos y . Si bien este enfoque funciona, no es adecuado para configuraciones que utilizan inyección de dependencia.

Enciclopedia Baidu-Seguridad de primavera