我有一个运行两个 servlet 的 WAR。其中一种为 Flex 客户端提供 AMF 远程处理,为 Web 服务客户端提供其他 SOAP/HTTP。我目前已将 Spring Security 配置为使用 DaoAuthenticationProvider 对 Flex 客户端进行身份验证。但是,我想为 SOAP/HTTP 使用不同的身份验证。可能是基本身份验证或某种其他形式。
这可能吗?或者我需要两次 war 吗?
最佳答案
我认为您会遇到实例化两个安全过滤器链的问题。问题是<http>
element 使用硬连接的 bean 名称(“springSecurityFilterChain”)构造一个安全过滤器链。如果您有多个 Activity <http>
元素在 web 应用程序的 spring 配置中,这可能会失败。
理论上,您可以通过不使用 SpringSecurity 命名空间并使用 SpringSecurity 类的纯 Spring XML 连接“手动”配置过滤器链来解决此问题。实际上,以这种方式配置 SpringSecurity 是很困难的。
关于java - 是否可以在不同的 servlet、相同的 WAR 中使用不同的 Spring Security AuthenticationProvider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3766004/