最近項目需要用到Spring Security的權限控制,故花了點時間簡單的去看了一下其權限控制相關的源碼(版本為4.2)。

AccessDecisionManager

spring security是通過AccessDecisionManager進行授權管理的,先來張官方圖鎮(zhèn)樓。

AccessDecisionManager

AccessDecisionManager 接口定義了如下方法:

//調用AccessDecisionVoter進行投票(關鍵方法)void decide(Authentication authentication, Object object,
        Collection<ConfigAttribute> configAttributes) throws AccessDeniedException,
        InsufficientAuthenticationException;boolean supports(ConfigAttribute attribute);boolean supports(Class clazz);

網(wǎng)友評論