Spring shiro filter 的初始化
.....ShiroFilterFactoryBean#getObject > createInstance
引出:
1. 接口 filterChainManager 管理所有的fileter和过滤器链
默认实现 DefaultFilterChainManager
默认过滤器设置
org.apache.shiro.web.filter.mgt.DefaultFilter
anon(AnonymousFilter.class), authc(FormAuthenticationFilter.class), authcBasic(BasicHttpAuthenticationFilter.class), logout(LogoutFilter.class), noSessionCreation(NoSessionCreationFilter.class), perms(PermissionsAuthorizationFilter.class), port(PortFilter.class), rest(HttpMethodPermissionFilter.class), roles(RolesAuthorizationFilter.class), ssl(SslFilter.class), user(UserFilter.class);
2. 接口
......FilterChainResolver
主要的实现类 也只有 PathMatchingFilterChainResolver
主要提供 决定根据访问路径 确定该请求使用那个过滤器链
3. last url
Webutil.
4. 采用httpsession 还是自定义的session 系统终默认的 DefaultWebSecurityManager
取决注入到security终的sessionManager 如果自行实现securityMananger 在WEB 环境中还需要实现webSecurityManager接口5. shiro 的 session
在最终使用的时候 我们最终拿到的对象时 DelegatingSession , shiro 通过台代理相应的sessionManage 完成相应的session操作
你可以使用自己的session 实现 替换现有 simpleSession 实现, 同时也需要替换相应的sessionManager实现 默认获取session在类 DefaultSessionManager#retrieveSession 方法中