`
tmartin
  • 浏览: 102366 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring security 学习琐碎总结

    博客分类:
  • J2EE
阅读更多

1.循环验证,一直报AccessDeniedException

    先出现了,凡是访问被保护的URL,日志就不断报错:Access is denied。

阅读了网上一篇博文,http://www.iteye.com/problems/41635,并按照修改。

无济于事,仔细检查,发现由于自己保护了"/**"URL,也就是说,如果访问一个受保护的页面,而又无权访问,就会跳转到指定的“/errors/accessDenied.jsp",但该error page 也是属于“/**”的,所以就出现循环验证的结果了,直到请求超时!

 

 

2.struts的请求没有经过springsecurity的Filter

    发现struts action的请求居然没有被SS过滤。由于之前看了上述博文,立即反应过来,Filter顺序问题 由于struts的filter先拦截了请求,并做了相应处理,返回请求,所以根本就没有ssFilter的机会了。在web.xml中调整了springsecurity的filter,将它放到struts的前面,成功。

      由此也可以猜测该博文的解决方法是有疑问的了,既然springsecurity已经先拦截了请求,并且做出拒绝跳转,那么struts也就没有机会相应请求了,那就跟不存在“struts拦截了spring Security的org.springframework.security.AccessDeniedException异常”的说法了。当然没有去深究此想法!

 

3.UrlMatcher规则正确,却没有被匹配

自定义FilterInvocationDefinitionSource,仔细检查了匹配规则,但除了“/**”都没被匹配成功,调试发现,虽然有lowerCaseComparisons变量,并且有设值,但在匹配前并没有做toLowerCase()处理。之前一直被日志迷惑,日志显示有转换为小写的处理,但那是FilterChainProxy的内置处理!

 

4.登录不成功bad Credentials

配置了验证的时候MD5加密,但是数据库的测试数据却还是明文!

 

 

总结:1.有错时,不应该急着求助别人或者网上搜索(其实也是求别人吧),应该仔细阅读日志,有些问题看下日志就明白。

2.虽然解决后都觉得是些很小的问题,但是解决了这些问题也就有了相应的经验了,现在遇到总比工作遇到好。再小的问题,不解决也终究是个问题:) 自我安慰吧

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics