I would suggest to you look at spring documentation "org.springframework.security.vote.AffirmativeBase d" and "allowIfAllAbstainDecisions":
Code:
<bean id="accessDecisionManager" class="org.springframework.security.vote.AffirmativeBased">
<property name="allowIfAllAbstainDecisions" value="false" />
<property name="decisionVoters">
<list>
<bean class="org.springframework.security.vote.RoleVoter" >
<property name="rolePrefix" value="" />
</bean>
<bean class="org.springframework.security.vote.AuthenticatedVoter"/>
</list>
</property>
</bean>
For example for procedure bellow work:
I did override the lookupAttributes() like this:
1) Check if the URL exists in my authorization tables
2) If the URL exists read the ROLES and populate the 'ConfigAttributeDefinition' object
3) If the URL does not exist then return NULL
I suggest to modify step 3 to be: If the URL does not exist then associate it with an ROLE without access, so it will be receive an AccessDenied message.