shiro是java的一个安全框架,相对简单!
SecurityManager
安全管理器,所有与安全相关的操作,都会与SecurityManager交互;管理者所有的Subject,所有的Subject都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager;SecurityManager是shiro的核心,它负责与shiro的其他组件进行交互,类似SpringMVC中的DispatcherServlet。
DefaultFilterChainManager
会添加shiro默认的Filter
有两个重要属性:存放默认和自定义的Filter;和存放拦截路径对应的Filter
private List<String> globalFilterNames; // list of filters to prepend to every chain private Map<String, NamedFilterList> filterChains; //key: chain name, value: chain
根据路径匹配Filter,匹配到第一个就退出,/**匹配任何路径。
ShiroFilterFactoryBean
shiro的过滤器配置,实际在sprng里注入了SpringShiroFilter的bean,所以请求会被拦截!
责任链的写法