例如,在Spring中我使用以下代码:
<http pattern="/users(?!\/emails).*" request-matcher="regex" create-session="stateless" entry-point-ref="authenticationEntryPoint" use-expressions="true"
xmlns="http://www.springframework.org/schema/security">
<anonymous enabled="false" />
<intercept-url method="GET" pattern="/user(?:([^/](?s).*)?)" />
因此,在Mule上我想在Flow的开头或(如果可能的话)添加安全性,以配置&lt; intercept-url&gt;标签
如果可能,我可以在Community Edition上执行此操作吗?
答案 0 :(得分:2)
以分数回答你的问题: -
是的, Mule社区版可以使用安全性添加安全性,因为它支持基本身份验证
对于您的上述要求,您需要在Mule中实施 Spring security
可以使用 Spring安全性配置Mule,以使用用户名和密码提供基本身份验证。
每当您点击该服务时,它都会要求该服务的用户名和密码。
因此,这回答了您在流程的开头实施安全性的问题。
一个简单的例子是: -
<spring:beans>
<ss:authentication-manager alias="authenticationManager">
<ss:authentication-provider>
<ss:user-service id="userService">
<ss:user name="john" password="abc123" authorities="ROLE_ADMIN" />
<ss:user name="anon" password="anon" authorities="ROLE_ANON" />
</ss:user-service>
</ss:authentication-provider>
</ss:authentication-manager>
</spring:beans>
<mule-ss:security-manager>
<mule-ss:delegate-security-provider name="memory-provider" delegate-ref="authenticationManager" />
</mule-ss:security-manager>
<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8081" doc:name="HTTP Listener Configuration" />
<flow name="SpringExampleFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
<http:basic-security-filter realm="mule-realm"/>
<logger level="INFO" message="passed security successfully !!! " doc:name="Logger"/>
</flow>
</mule>
Spring安全性还可以配置为提供基于角色的支持,其中多个用户参与<mule-ss:authorization-filter/>
。
因此,您可以根据用户角色过滤用户。
您可以在此处参考一些示例,以获取有关它及其实施的更多想法: - http://confluex.com/blog/http-inbound-endpoint-basic-authentication/
和
https://developer.mulesoft.com/docs/display/current/Configuring+the+Spring+Security+Manager