在Mule上验证客户端

在Mule上验证客户端,mule,mule-studio,mule-component,Mule,Mule Studio,Mule Component,我对Mule非常陌生,我想知道如何在Mule应用程序中对客户机进行身份验证。该流有一个HTTP侦听器。我读过Spring安全管理器可用于验证客户端,但在HTTP侦听器中找不到此选项。我正在使用Anypoint studio 5.4。请建议我们如何在Mule中验证客户端。是的,您可以使用Spring security。 但是,您不能在尝试时在HTTP侦听器上简单地配置它。您需要配置更多的东西 我将尝试解释最简单的设置: 首先,在全局级别上在流外部配置身份验证管理器,如下所示: <sp

我对Mule非常陌生,我想知道如何在Mule应用程序中对客户机进行身份验证。该流有一个HTTP侦听器。我读过Spring安全管理器可用于验证客户端,但在HTTP侦听器中找不到此选项。我正在使用Anypoint studio 5.4。请建议我们如何在Mule中验证客户端。

是的,您可以使用Spring security。 但是,您不能在尝试时在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 listener)之后的流中,您可以添加一个HTTP安全过滤器,如下所示:

     <mule-ss:http-security-filter realm="mule-realm"/>

就这样。尝试访问您的http/https端点,您将被询问用户名和密码

注意,有很多灵活性和配置选项,这只是一个简单的例子


还请注意,根据您的用例,在任何时候都有其他类型的身份验证可能。例如,您可能会考虑使用基于OAuth2的身份验证用于基于REST的端点……/P>您正在讨论什么类型的身份验证?