Kiran Keshav
Jul 27th, 2005, 11:30 PM
Hello,
When adding an acl voter to my decisionVoters in the accessDecisionManager, I always get a
java.lang.IllegalArgumentException: AccessDecisionManager does not support secure object class: class net.sf.acegisecurity.intercept.web.FilterInvocatio n
at net.sf.acegisecurity.intercept.AbstractSecurityInt erceptor.afterPropertiesSet(AbstractSecurityInterc eptor.java:246)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:1003)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:348)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:147)
In my applicationContext-security.xml file I have:
<bean id="securityEnforcementFilter" class="net.sf.acegisecurity.intercept.web.SecurityEnforce mentFilter">
<property name="filterSecurityInterceptor"><ref local="filterInvocationInterceptor"/></property>
<property name="authenticationEntryPoint"><ref local="authenticationProcessingFilterEntryPoint"/></property>
</bean>
<bean id="filterInvocationInterceptor" class="net.sf.acegisecurity.intercept.web.FilterSecurityI nterceptor">
<property name="authenticationManager"><ref local="authenticationManager"/></property>
<property name="accessDecisionManager"><ref local="businessAccessDecisionManager"/></property>
<property name="objectDefinitionSource">
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/signup.html=admin,user
/passwordhint.html*=admin,user
/**/*.html*=admin,user
/**/*.htm*=admin,user
/clickstreams.jsp=admin
</value>
</property>
</bean>
<bean id="businessAccessDecisionManager" class="net.sf.acegisecurity.vote.AffirmativeBased">
<property name="allowIfAllAbstainDecisions"><value>false</value></property>
<property name="decisionVoters">
<list>
<ref local="roleVoter"/>
<ref local="aclMyObjectWriteVoter"/>
</list>
</property>
</bean>
As a recent adopter of Acegi, this is probably a configuration issue. Any ideas? I am currently using version 0.8.3.
Thanks in advance.
When adding an acl voter to my decisionVoters in the accessDecisionManager, I always get a
java.lang.IllegalArgumentException: AccessDecisionManager does not support secure object class: class net.sf.acegisecurity.intercept.web.FilterInvocatio n
at net.sf.acegisecurity.intercept.AbstractSecurityInt erceptor.afterPropertiesSet(AbstractSecurityInterc eptor.java:246)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:1003)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:348)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:147)
In my applicationContext-security.xml file I have:
<bean id="securityEnforcementFilter" class="net.sf.acegisecurity.intercept.web.SecurityEnforce mentFilter">
<property name="filterSecurityInterceptor"><ref local="filterInvocationInterceptor"/></property>
<property name="authenticationEntryPoint"><ref local="authenticationProcessingFilterEntryPoint"/></property>
</bean>
<bean id="filterInvocationInterceptor" class="net.sf.acegisecurity.intercept.web.FilterSecurityI nterceptor">
<property name="authenticationManager"><ref local="authenticationManager"/></property>
<property name="accessDecisionManager"><ref local="businessAccessDecisionManager"/></property>
<property name="objectDefinitionSource">
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/signup.html=admin,user
/passwordhint.html*=admin,user
/**/*.html*=admin,user
/**/*.htm*=admin,user
/clickstreams.jsp=admin
</value>
</property>
</bean>
<bean id="businessAccessDecisionManager" class="net.sf.acegisecurity.vote.AffirmativeBased">
<property name="allowIfAllAbstainDecisions"><value>false</value></property>
<property name="decisionVoters">
<list>
<ref local="roleVoter"/>
<ref local="aclMyObjectWriteVoter"/>
</list>
</property>
</bean>
As a recent adopter of Acegi, this is probably a configuration issue. Any ideas? I am currently using version 0.8.3.
Thanks in advance.