我想覆盖两个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>
答案 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.xml
或web-ext.xml
中引用您的过滤器类(我不知道后面是否适用于覆盖)。
同样适用于NtlmPostFilter
。