Spring Security Anonymous 认证

3月 11, 2018 |

Anonymous认证主要目的为那些不需要保护的资源提供spring security 相关的属性, 因为Anonymous认证时请求会经过FilterChain的处理, SecurityContextHolder中会存放AuthenticationToken,
当我们基于namespace使用<html>配置时, 默认会往filterChain中添加AnonymousAuthenticationFilter, 虽然也会往spring 上下文注册AnonymousAuthenticationProvider, 但是AnonymousAuthenticationProvider不会使用, AnonymousAuthenticationFilter.doFilter() 方法直接向SecurityContextHolder中写入AuthenticationToken。
如果是"IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY"这三个特殊的权限,那么由AuthenticatedVoter进行处理, "ROLE_ANONYMOUS"将由RoleVoter进行处理

Posted in: Spring Security

Comments are closed.