例外:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘util:list#f1d6071’: Cannot create inner bean ‘security:filter-chain#1c5c0deb’ of
type [org.springframework.security.web.DefaultSecurityFilterChain] while setting bean property ‘sourceList’ with key [10]; nested exception is org.springframework.beans.factory.Bea
nCreationException: Error creating bean with name ‘security:filter-chain#1c5c0deb’: Cannot resolve reference to bean ‘adminConsoleDeniedExceptionTranslationFilter’ while setting co
nstructor argument with key [5]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘adminConsoleDeniedExceptionTranslationF
ilter’ defined in ServletContext resource [/WEB-INF/spring-security.xml]: Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to a
void type ambiguities)
在org.springframework.beans.factory.support.BeanDeFinitionValueResolver.resolveInnerBean(BeanDeFinitionValueResolver.java:282)[spring-beans-4.0.2.RELEASE.jar:4.0.2.RELEASE]
在org.springframework.beans.factory.support.BeanDeFinitionValueResolver.resolveValueIfNecessary(BeanDeFinitionValueResolver.java:121)[spring-beans-4.0.2.RELEASE.jar:4.0.2.RELEAS
E]
spring-security.xml(受影响的Spring 4 XML配置的一小部分)
<bean id="filterChainProxy" class="org.springframework.security.web.FilterChainProxy"> <constructor-arg> <util:list> <security:filter-chain pattern="/refreshCache**" filters="scpf,noFilter,logoutFilter"/> <security:filter-chain pattern="/admin/adminConsole/**" filters="scpf,dsToSpringFilter,securityFilter,logoutFilter,fsi,adminConsoleDeniedExceptionTranslationFilter,adminConsoleFilter"/> </util:list> </constructor-arg> </bean><bean id="etf" class="org.springframework.security.web.access.ExceptionTranslationFilter"> <constructor-arg name="authenticationEntryPoint" ref="preAuthenticatedProcessingFilterEntryPoint"/> </bean><bean id="adminConsoleDeniedExceptionTranslationFilter" class="org.springframework.security.web.access.ExceptionTranslationFilter"> <constructor-arg name="authenticationEntryPoint2" ref="preAuthenticatedProcessingFilterEntryPoint"/> <constructor-arg ref="adminConsoleAccessDeniedHandler"/></bean><bean id="preAuthenticatedProcessingFilterEntryPoint" class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"/><bean id="adminConsoleAccessDeniedHandler" class="org.springframework.security.web.access.AccessDeniedHandlerImpl"><property name="errorPage" value="/WEB-INF/jsp/adminConsoleAccessDenied.jsp"/></bean>
解决方法
<bean id="adminConsoleDeniedExceptionTranslationFilter" class="org.springframework.security.web.access.ExceptionTranslationFilter"> <constructor-arg name="authenticationEntryPoint2" ref="preAuthenticatedProcessingFilterEntryPoint"/> <constructor-arg ref="adminConsoleAccessDeniedHandler"/> </bean>
根据documentation,它应该是authenticationEntryPoint.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。