springboot shiro cas的坑包括取不到securityManager和拦截器全部拦截

1.以代码形式配置spring boot和shiro cas融合的时候,死活就是取不到securityManager,各种检查已经注入进去了,修改为xml方式就可以了......
2.shiro 配置/logout = logout的时候,只要在xml中声明了bean为LogoutFilter,登录的时候就被拦截,看启动信息是MAPPING LogoutFilter to "/*",明明配置了为/logout了呀。。。。但是不声明的时候就不会执行拦截。猜测跟spring boot启动有关系(默认进了filterchain的大家庭)。最后重写了filter过滤掉了其它路径只匹配logout。虽然效率低了点,总算实现了....
答:问题已经定位,我是用.xml配置声明的bean ,springboot会获取这个bean注册到 FilterRegistrationBean 中,它的父类static静态块中默认设置partten为/*拦截所有
DEFAULT_URL_MAPPINGS = new String[]{ "/*" } ;
3.springboot配置为war包,在webapp下面static包的静态资源死活返回404,最后没办法迁移到resouces下面可以访问了。
答:static放回到webapp下面添加这个配置也可以了。classpath为resouces下面,所以你在webapp下面就不要写classpath

springboot shiro cas的坑包括取不到securityManager和拦截器全部拦截_第1张图片

你可能感兴趣的:(spring,boot)