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

标签 java spring liferay liferay-6 ntlm

我想覆盖两个 portal-impl.jar 类 NtlmFiler.javaNtlmPostFilter.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

最佳答案

因为 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

关于java - 如何覆盖 Liferay ext-plugin 中的 portal-impl jar 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45915136/

相关文章:

java - Spring 数据 jpa,jparepository 返回字符串列表代替 DTO 对象

java - Spring框架中@Import和@ImportResource注解的使用有什么区别?

java - 如何在主题(Liferay)中默认使 portlet 无边界?

java - 如何在 Liferay 日历中获取单个 google 重复事件的 SyncEntryId?

java - 将水平下拉转换为垂直下拉

java - GWT中如何连接MySql? (应用引擎)

java - 将属性文件中的值加载到 jsp 中,而不在 JSP 页面内使用 scriplet

java - Liferay 开发者客户端网络服务

java - 在 Linux 上运行 Swing jar

java - 在@Component和@Configuration中使用@Bean