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