求助高手:
配了一天的spring了,但自动登录始终不成功,报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rememberMeProcessingFilter' defined in ServletContext resource [/WEB-INF/applicationContext-security-acegi.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'authenticationManager' of bean class [net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter]: Bean property 'authenticationManager' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
Caused by:
org.springframework.beans.NotWritablePropertyException: Invalid property 'authenticationManager' of bean class [net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter]: Bean property 'authenticationManager' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? 源码如下 <!-- ======================== AUTHENTICATION ======================= -->
<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
<property name="providers">
<list>
<ref local="daoAuthenticationProvider"/>
<ref local="anonymousAuthenticationProvider"/>
<bean class="net.sf.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider">
<property name="key" value="springRocks"/>
</bean>
</list>
</property>
</bean>
<bean id="jdbcDaoImpl" class="net.sf.acegisecurity.providers.dao.jdbc.JdbcDaoImpl">
<property name="dataSource"> <ref bean="dataSource"/> </property>
<property name="usersByUsernameQuery">
<value>SELECT USERNAME,PASSWORD,1 as 'enabled' FROM USER WHERE USERNAME=? </value>
</property>
<property name="authoritiesByUsernameQuery">
<value>
SELECT username,authorith FROM user WHERE username = ?
</value>
</property>
</bean> <bean id="httpRequestAccessDecisionManager" class="net.sf.acegisecurity.vote.AffirmativeBased">
<property name="allowIfAllAbstainDecisions"> <value>false </value> </property>
<property name="decisionVoters">
<list>
<ref bean="roleVoter"/>
</list>
</property>
</bean>
<bean id="rememberMeProcessingFilter" class="net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
<property name="rememberMeServices"> <ref local="rememberMeServices"/> </property>
<property name="authenticationManager" ref="authenticationManager"/>
</bean> <bean id="rememberMeServices" class="net.sf.acegisecurity.ui.rememberme.TokenBasedRememberMeServices">
<property name="tokenValiditySeconds" value="432000"/>
<property name="key"> <value>springRocks </value> </property>
<property name="authenticationDao"> <ref local="jdbcDaoImpl"/> </property>
</bean> <!-- An access decision voter that reads AUTH_* configuration settings -->
<bean id="roleVoter" class="net.sf.acegisecurity.vote.RoleVoter">
<!-- set that this voter can only used for AUTH_ started roles! -->
<property name="rolePrefix"> <value>AUTH_ </value> </property>
</bean> </beans>
配了一天的spring了,但自动登录始终不成功,报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rememberMeProcessingFilter' defined in ServletContext resource [/WEB-INF/applicationContext-security-acegi.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'authenticationManager' of bean class [net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter]: Bean property 'authenticationManager' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
Caused by:
org.springframework.beans.NotWritablePropertyException: Invalid property 'authenticationManager' of bean class [net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter]: Bean property 'authenticationManager' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? 源码如下 <!-- ======================== AUTHENTICATION ======================= -->
<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
<property name="providers">
<list>
<ref local="daoAuthenticationProvider"/>
<ref local="anonymousAuthenticationProvider"/>
<bean class="net.sf.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider">
<property name="key" value="springRocks"/>
</bean>
</list>
</property>
</bean>
<bean id="jdbcDaoImpl" class="net.sf.acegisecurity.providers.dao.jdbc.JdbcDaoImpl">
<property name="dataSource"> <ref bean="dataSource"/> </property>
<property name="usersByUsernameQuery">
<value>SELECT USERNAME,PASSWORD,1 as 'enabled' FROM USER WHERE USERNAME=? </value>
</property>
<property name="authoritiesByUsernameQuery">
<value>
SELECT username,authorith FROM user WHERE username = ?
</value>
</property>
</bean> <bean id="httpRequestAccessDecisionManager" class="net.sf.acegisecurity.vote.AffirmativeBased">
<property name="allowIfAllAbstainDecisions"> <value>false </value> </property>
<property name="decisionVoters">
<list>
<ref bean="roleVoter"/>
</list>
</property>
</bean>
<bean id="rememberMeProcessingFilter" class="net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
<property name="rememberMeServices"> <ref local="rememberMeServices"/> </property>
<property name="authenticationManager" ref="authenticationManager"/>
</bean> <bean id="rememberMeServices" class="net.sf.acegisecurity.ui.rememberme.TokenBasedRememberMeServices">
<property name="tokenValiditySeconds" value="432000"/>
<property name="key"> <value>springRocks </value> </property>
<property name="authenticationDao"> <ref local="jdbcDaoImpl"/> </property>
</bean> <!-- An access decision voter that reads AUTH_* configuration settings -->
<bean id="roleVoter" class="net.sf.acegisecurity.vote.RoleVoter">
<!-- set that this voter can only used for AUTH_ started roles! -->
<property name="rolePrefix"> <value>AUTH_ </value> </property>
</bean> </beans>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货