0

我在 hybris 5.1 中使用插件支持来自定义 ycommercewebservices,但我看不到任何添加或修改 HTTP 过滤器的方法,因为在同步插件及其目标期间,来自插件的 web.xml 被忽略。有任何想法吗?

4

2 回答 2

1

您不自定义模板扩展。为什么这不在论坛上?

于 2014-02-27T14:52:07.960 回答
0

最终,这很容易 - 只需使用与 ycommercewebservices-web-spring.xml 中相同的 id 重新声明过滤器,但在您的 addon-web-spring.xml 中:

<bean id="baseSiteFilter" class="my.own.SelectBaseSiteFilter" >
        <property name="baseSiteFilterExclusions" ref="baseSiteFilterExclusions" />
        <property name="configurationService"  ref="configurationService" />
        <property name="sessionService" ref="sessionService" />
        <property name="baseSiteService" ref="baseSiteService" />
</bean>

如果您需要添加新过滤器或排除默认过滤器,请在 addon-web-spring.xml 中重新声明 commerceWebServicesFilterChainList:

<alias name="defaultCommerceWebServicesFilterChainList" alias="commerceWebServicesFilterChainList" />
    <util:list id="defaultCommerceWebServicesFilterChainList">
        <!-- generic platform filters -->
        <ref bean="log4jFilter" />
        <ref bean="tenantActivationFilter"/>
        <ref bean="sessionFilter"/>

        <!-- commerceWebservices filters -->
        <ref bean="baseSiteFilter" />
        <ref bean="sessionAttributesFilter" />

        <!-- Security -->
        <ref bean="springSecurityFilterChain"/>

    </util:list>

在安装插件之前不要忘记在 project.properties.template 中添加以下行:

ycommercewebservices.additionalWebSpringConfigs.youroccaddon=classpath:/youroccaddon/web/spring/youroccaddon-web-spring.xml

youroccaddon-web-spring.xml 将在 ycommercewebservices-web-spring.xml 之后添加到 spring 上下文中,因此可以从 ycommercewebservices 上下文中覆盖 bean。

于 2014-02-28T05:14:44.123 回答