我试图使用cxf SamlRedirectBindingFilter用SAML保护camel中定义的CXFRS消费者端点。下面是定义路由/端点的spring:
<cxf:bus>
<cxf:features>
<cxf:logging/>
</cxf:features>
</cxf:bus>
<bean id="stateManager" class="org.apache.cxf.rs.security.saml.sso.state.EHCacheSPStateManager">
<constructor-arg ref="cxf"/>
</bean>
<bean id="redirectGetFilter" class="org.apache.cxf.rs.security.saml.sso.SamlRedirectBindingFilter">
<property name="idpServiceAddress" value="http://carnold-linux.ptcnet.ptc.com:9093/idp/profile/SAML2/Redirect/SSO"/>
<property name="assertionConsumerServiceAddress" value="/racs/sso"/>
<property name="stateProvider" ref="stateManager"/>
<property name="addWebAppContext" value="false"/>
</bean>
<camelContext id="camel" trace="false" xmlns="http://camel.apache.org/schema/spring">
<route id="proxyRoute">
<from uri="cxfrs://http://0.0.0.0:9092/app?resourceClasses=com.company.FooResource,com.company.BarResource&providers=#redirectGetFilter"/>
...rest of route我遇到的问题是,即使我将SamlRedirectFilter添加到端点的提供程序中,它也没有重定向/身份验证。对这个问题有什么想法吗?
发布于 2013-11-25 09:48:57
当前的camel版本不支持配置uri提供的内容。
可以使用cxf:rsServer配置提供程序,如下所示
<cxf:rsServer id="rsServer" address="http://0.0.0.0:9092/app"
>
<cxf:providers>
<ref bean="redirectGetFilter"/>
</cxf:providers>
<cxf:serviceBeans>
<ref bean="fooResource"/>
<ref bean="barResource"/>
</cxf:serviceBeans>
</cxf:rsServer>
<bean id="fooResource" class="com.company.FooResource"/>
<bean id="barResource" class="com.company.BarResource"/>
<camelContext id="camel" trace="false" xmlns="http://camel.apache.org/schema/spring">
<route id="proxyRoute">
<from uri="cxfrs://bean:rsServer"/>
...rest of routehttps://stackoverflow.com/questions/20149590
复制相似问题