最近项目需要用到Spring Security的权限控制,故花了点时间简单的去看了一下其权限控制相关的源码(版本为4.2)。

AccessDecisionManager

spring security是通过AccessDecisionManager进行授权管理的,先来张官方图镇楼。

AccessDecisionManager

AccessDecisionManager 接口定义了如下方法:

//调用AccessDecisionVoter进行投票(关键方法)void decide(Authentication authentication, Object object,
        Collection<ConfigAttribute> configAttributes) throws AccessDeniedException,
        InsufficientAuthenticationException;boolean supports(ConfigAttribute attribute);boolean supports(Class clazz);

网友评论