我假设您有一组不同的用户。所以,是的,您将需要一个不同的身份验证管理器。为内部与外部配置一个,并在您的http
配置中引用它们。您可能还需要不同的安全上下文。我们使用一种策略,使一些内部用户与外部用户保持不同。正常配置您的<http...
部分之一。但另一个应该是这样的:
<bean id="internalSecurityContextRepository"
class="org.springframework.security.web.context.HttpSessionSecurityContextRepository">
<property name="springSecurityContextKey" value="SPRING_SECURITY_CONTEXT.internal"/>
</bean>
然后在您的内部配置中确保您引用了新的上下文存储库:
<sec:http pattern="/internal/**"
security-context-repository-ref="internalSecurityContextRepository"
authentication-manager-ref="internalAuthenticationManager"
... other stuff ... />
通过这种配置,spring 将能够为内部和外部使用不同的身份验证管理器和不同的用户集。