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

AccessDecisionManager

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

AccessDecisionManager

AccessDecisionManager 接口定義了如下方法:

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

網(wǎng)友評論