Java 在同一战争中,在不同的servlet中使用不同的Spring Security AuthenticationProvider可能吗?
我有一场运行两个servlet的战争。其中一个为Flex客户端提供AMF远程处理,为web服务客户端提供其他SOAP/HTTP。目前,我已将Spring安全配置为使用DaoAuthenticationProvider对Flex客户端进行身份验证。但是,我希望为SOAP/HTTP使用不同的身份验证。可能是基本身份验证或其他形式Java 在同一战争中,在不同的servlet中使用不同的Spring Security AuthenticationProvider可能吗?,java,apache-flex,authentication,servlets,spring-security,Java,Apache Flex,Authentication,Servlets,Spring Security,我有一场运行两个servlet的战争。其中一个为Flex客户端提供AMF远程处理,为web服务客户端提供其他SOAP/HTTP。目前,我已将Spring安全配置为使用DaoAuthenticationProvider对Flex客户端进行身份验证。但是,我希望为SOAP/HTTP使用不同的身份验证。可能是基本身份验证或其他形式 可能吗?还是我需要两场战争?我认为实例化两个安全筛选器链会遇到问题。问题是元素用硬连接的bean名称(“springSecurityFilterChain”)构造了一个安全
可能吗?还是我需要两场战争?我认为实例化两个安全筛选器链会遇到问题。问题是
元素用硬连接的bean名称(“springSecurityFilterChain”)构造了一个安全过滤器链。如果webapp的spring配置中有多个活动的
元素,则很可能会失败
理论上,您可以通过不使用SpringSecurity名称空间和使用SpringSecurity类的纯springxml连接“手动”配置过滤器链来解决这个问题。实际上,以这种方式配置SpringSecurity是很困难的。您可能可以启动两个独立的安全链,我不知道您是否会遇到Stephen概述的问题 如果您在与两个servlet url模式对应的两个不同url模式上进行筛选,那么您应该能够进行适当的筛选
<filter>
<filter-name>flexSpringSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>flexSpringSecurityFilterChain</filter-name>
<url-pattern>/messagebroker/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>webSpringSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>webSpringSecurityFilterChain</filter-name>
<url-pattern>/web/*</url-pattern>
</filter-mapping>
flexSpringSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
flexSpringSecurityFilterChain
/messagebroker/*
webSpringSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
webSpringSecurityFilterChain
/web/*