我对Mule很新,我想知道如何在我们的mule应用程序中验证客户端。该流具有HTTP侦听器。我读过Spring Security Manager可用于验证客户端,但我无法在HTTP Listener中找到此选项。我正在使用Anypoint studio 5.4。请建议我们如何在Mule中验证客户端。
答案 0 :(得分:0)
是的,您可以使用Spring安全性。 但是,您不能在尝试时在HTTP侦听器上简单地配置它。您需要配置更多内容。
我将尝试解释最简单的设置:
首先在全局级别的流程之外配置身份验证管理器,例如:
<spring:beans>
<ss:authentication-manager alias="authenticationManager">
<ss:authentication-provider>
<ss:user-service id="userService">
<ss:user name="admin" password="myadminpassword" authorities="ROLE_ADMIN" />
</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侦听器)之后直接进入您的流程中,您添加如下的http安全过滤器:
<mule-ss:http-security-filter realm="mule-realm"/>
多数民众赞成。尝试访问您的http / https端点,您将面临用户名和密码的挑战。
请注意,有很多灵活性和配置选项,这只是一个简单的例子。
另请注意,根据您的使用情况,Anypoint中还有其他类型的身份验证可用性。例如,您可以考虑对基于REST的端点使用基于OAuth2的身份验证...