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.虽然解决后都觉得是些很小的问题,但是解决了这些问题也就有了相应的经验了,现在遇到总比工作遇到好。再小的问题,不解决也终究是个问题:) 自我安慰吧
!
分享到:
相关推荐
SpringSecurity是Java开发中用于构建安全Web应用的框架,它提供了强大的身份验证、...在学习过程中,分析提供的源代码和示例将有助于深入理解SpringSecurity的工作原理,并能帮助你在实际项目中有效地应用这些知识。
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
"springsecurity-namespace"可能指的是Spring Security的XML命名空间配置。在Spring Security的早期版本中,使用XML配置是最常见的实践。例如,你可能会看到以下片段: ```xml **" access="hasRole('ROLE_ADMIN')...
Spring Security是一个功能强大且高度可定制的身份验证和授权框架,专门用于保护Java应用程序的安全性。它构建在Spring Framework基础之上,提供了全面的安全解决方案,包括身份验证、授权、攻击防护等功能。 Spring...
【Spring Security 学习总结】 Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于保护基于 Java 的应用程序。本学习总结文档主要针对初学者,旨在剖析一个不安全的应用程序并阐述如何通过 ...
SpringSecurity学习总结一.pdf
在"Spring Security学习总结一(补命名空间配置)"的文件中,可能涵盖了如何在Spring Security的XML配置中补充命名空间的步骤。命名空间的引入是为了简化配置,例如`<http>`元素用于配置安全拦截和访问规则,`...
Spring Security3 安全个人总结 Spring Security3 是一个基于 Java 的安全框架,提供了一个灵活的安全机制来保护基于 Spring 的应用程序。在这个总结中,我们将详细介绍 Spring Security3 的安全机制、原理和核心...
Spring Security 实践指南 Spring Security 是一个基于 Java 的安全框架,旨在提供身份验证、授权和访问控制等功能。下面是 Spring Security 的主要知识点: 一、身份验证(Authentication) 身份验证是指对用户...
Spring Security 是一个强大的安全框架,主要用于Java应用的安全管理,它为Web应用和企业级应用提供了全面的...通过学习这些文档,开发者可以更好地理解Spring Security的工作原理,从而更有效地实现应用的安全控制。
Spring Security的学习过程可以分为入门、进阶和高级三个阶段。入门阶段主要是了解Spring Security的基本概念和配置方法。进阶阶段需要深入学习如何定制认证和授权流程、如何集成各种认证方式以及如何在实际项目中...
spring security方面的学习资料,包含:Spring+Security+3+与+CAS单点登录配置;Spring+Security3中文教程;Spring-Security安全权限管理手册;Spring+Security文库;还有一个学习笔记!
SpringSecurity是Java领域中一款强大的安全框架,主要用于Web应用程序的安全管理。它提供了全面的身份验证、授权、会话...通过深入学习和实践,我们可以更好地掌握SpringSecurity,为我们的应用构建坚固的安全防线。
Spring Security 是一个强大的安全框架,用于为Java应用提供身份验证和授权服务。在这个完整的项目实例中...通过学习和实践这个项目,开发者能够深入理解Spring Security的工作原理,从而更有效地保护自己的Java应用。
首先,Spring_Security-3.0.1_中文官方文档(翻译版).pdf是学习SpringSecurity的重要资源,它包含详细的框架介绍、配置指南和使用示例。这份文档会帮助我们理解SpringSecurity的基础架构,如安全上下文、过滤器链和...
Spring Security 3是中国社区翻译的官方文档,为国内开发者提供了方便的学习资源。 本套文档包含了Spring Security的基础概念、配置、核心组件以及实际应用场景的详细讲解。以下是一些关键知识点的概述: 1. **...
在压缩包文件`spring_gateway_security_webflux`中,可能包含了示例代码或配置文件,用于演示如何在Spring Cloud Gateway中集成Spring Security,实现统一登录认证鉴权。这些资源可以帮助开发者更快地理解和实践上述...