hi, I have a similar situation; two sets of users (one being admins, the other being end users)
acegi handles this perfectly
example:
Code:
<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
<property name="providers">
<list>
<ref bean="firstAuthenticationProvider"/>
<ref bean="secondAuthenticationProvider"/>
</list>
</property>
</bean>
if you user ProviderManager as the authenticationManager, it will consult each provider in order looking for appropriate user