在Mule配置中将自定义安全过滤器应用于多个流

时间:2015-12-08 20:18:10

标签: mule mule-studio mule-component

我有一个mule应用程序,其中有登录流程。该流包含一个http端点,它将用户/密码作为表单post参数。一旦用户/密码匹配,我们创建一个身份验证令牌并将其存储在数据库中。然后,稍后在登录api响应中发送它。

现在,我在同一个mule配置文件中有多个其他流。它们中的每一个都代表一个特定的端点/ api。现在,我想将自定义安全过滤器应用于除登录端点流之外的所有流。

一种方法是在每个流中不断添加custom-security-filter组件。我不想那样做。相反,我想提一下这个安全过滤器适用于除登录流程之外的所有流程。

骡子可以吗?

1 个答案:

答案 0 :(得分:0)

如果请求不适用于您的登录端点,您可以使用选项并仅应用授权过滤。 e.g。

<choice doc:name="Choice">
    <when expression="[Is this a login request?]">
        <!-- Do nothing -->
    </when>
    <otherwise>
        <!-- User must be authorized -->
        <mule-ss:authorization-filter doc:name="Authorize" 
            requiredAuthorities="ROLE_REQUIRED_AUTH" />
    </otherwise>
</choice>