我尝试使用Mule 3.5.0 CE将xml字符串发布到CAS后面的REST服务。我已经在出站端点上配置了mule安全管理器和http安全过滤器,但还没有取得多大成功。 mule文档没有多大帮助,我发现了一些关于如何保护入站端点的帖子,但没有关于验证出站请求的信息。有没有人这样做过,甚至可能吗?提前谢谢。
<!-- CONNECTORS -->
<https:connector name="HttpsConnector">
<service-overrides sessionHandler="org.mule.session.NullSessionHandler"/>
<https:tls-server path="${truststore}" storePassword="password"/>
</https:connector>
<!-- ENDPOINTS -->
<https:endpoint name="PublishEndpoint" connector-ref="HttpsConnector"
address="${my.url}"
method="POST" contentType="application/xml" exchange-pattern="request-response"
keepAlive="true" />
<mule-ss:security-manager>
<mule-ss:delegate-security-provider name="memory-provider" delegate-ref="authenticationManager" />
</mule-ss:security-manager>
<spring:beans>
<ss:authentication-manager alias="authenticationManager">
<ss:authentication-provider>
<ss:user-service id="userService">
<ss:user name="${user}" password="${pwd}" authorities="ROLE_USER" />
</ss:user-service>
</ss:authentication-provider>
</ss:authentication-manager>
</spring:beans>
<!-- publish xml string to service -->
<flow name="PublishFlow">
<vm:inbound-endpoint ref="ReportEndpoint" />
<https:outbound-endpoint ref="PublishEndpoint">
<mule-ss:http-security-filter realm="mule-realm" securityProviders="memory-provider"/>
</https:outbound-endpoint>
</flow>
答案 0 :(得分:0)
CAS安全方案不是由HTTP请求者直接实现的,实际上在3.5.0中只支持非抢占式BASIC身份验证。
你最好的方法是回滚到http:oubound端点并创建一个自定义调度程序来处理java代码的身份验证。