最近项目需要用到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);

