如何在Liferay ext-plugin中覆盖portal-impl jar类

时间:2017-08-28 08:51:28

标签: java spring liferay liferay-6 ntlm

我想覆盖两个portal-impl.jar类 NtlmFiler.java NtlmPostFilter.java ,我创建了一个ext-plugin项目并放置了自定义编写的类在ext-impl / src中但是我无法配置我的spring.xml文件来使用我新编写的类而不是portal-impl类,也许我这样做是完全错误的。

我的ext-spring.xml代码是:

<?xml version="1.0" encoding="UTF-8"?>
<beans>
<bean id="com.liferay.portal.servlet.filters.sso.ntlm.NtlmFilter"
    class="com.liferay.portal.servlet.filters.sso.ntlm.NtlmFilter">
    <property name="ntlmFilter">
        <bean class="com.sso.ntlm.filter.CustomNtlmFilter">
            <property name="CustomNtlmFilter" ref="customNtlmFilter" />
        </bean>
    </property>
</bean>
<bean id="com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter"
    class="com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter">
    <property name="ntlmPostFilter">
        <bean class="com.sso.ntlm.filter.CustomNtlmPostFilter">
            <property name="CustomNtlmPostFilter" ref="customNtlmPostFilter" />
        </bean>
    </property>
</bean>

注意:The idea is to solve this problem

1 个答案:

答案 0 :(得分:3)

由于NtlmFilter不是Spring bean,因此在ext-spring.xml中定义它是没有用的。

请参阅portal.properties

# ... and the filter
# com.liferay.portal.servlet.filters.sso.ntlm.NtlmFilter must be referenced
# in web.xml.

因此,您只需要在liferay-web.xmlweb-ext.xml中引用您的过滤器类(我不知道后面是否适用于覆盖)。

同样适用于NtlmPostFilter