You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Liferay 6.2门户中禁用CKEditor的frmcreatefolder.html路径?

解决Liferay 6.2禁用指定CKEditor页面的方法

以下是几种Liferay系统内部的解决方案,无需依赖外部工具:

方法1:通过Hook插件拦截请求(推荐,可持久化)

Liferay 6.2支持Hook插件扩展系统行为,你可以创建一个Hook来添加自定义过滤器,拦截目标页面的请求并返回403禁止访问:

  1. 创建一个Liferay Hook项目(可使用Liferay IDE或Maven archetype)
  2. 在liferay-hook.xml中注册自定义Servlet过滤器:
    <hook>
        <servlet-filter>
            <servlet-filter-name>ForbidCreateFolderFilter</servlet-filter-name>
            <servlet-filter-class>com.yourcompany.filter.ForbidCreateFolderFilter</servlet-filter-class>
        </servlet-filter>
        <servlet-filter-mapping>
            <servlet-filter-name>ForbidCreateFolderFilter</servlet-filter-name>
            <url-pattern>/html/js/editor/ckeditor/editor/filemanager/browser/liferay/frmcreatefolder.html</url-pattern>
        </servlet-filter-mapping>
    </hook>
    
  3. 实现过滤器类ForbidCreateFolderFilter:
    import javax.servlet.*;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    public class ForbidCreateFolderFilter implements Filter {
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {}
    
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
            HttpServletResponse httpResponse = (HttpServletResponse) response;
            httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN, "Access Denied");
        }
    
        @Override
        public void destroy() {}
    }
    
  4. 编译部署Hook插件,重启Liferay后,访问目标页面会直接返回403。

方法2:直接替换/移除目标页面(快速临时方案)

如果暂时无法开发插件,可以直接修改部署后的静态资源:

  • 找到Liferay部署目录下的tomcat/webapps/ROOT/html/js/editor/ckeditor/editor/filemanager/browser/liferay/frmcreatefolder.html
  • 要么删除该文件(访问时返回404),要么将其内容替换为一个返回403的静态页面:
    <!DOCTYPE html>
    <html>
    <head>
        <title>Access Denied</title>
    </head>
    <body>
        <h1>403 Forbidden</h1>
        <p>Access to this page is restricted.</p>
    </body>
    </html>
    

注意:此方法会在Liferay升级或重新部署ROOT应用时被覆盖,仅适合临时应急。

方法3:利用Liferay资源权限配置(进阶)

如果目标页面是通过Liferay的资源服务加载的,可以尝试在portal-ext.properties中添加资源拦截规则:

  • 添加以下配置:
    # 禁止访问指定路径的资源
    resource.url.patterns.denied=/html/js/editor/ckeditor/editor/filemanager/browser/liferay/frmcreatefolder.html
    

注:部分Liferay 6.2版本可能需要配合com.liferay.portal.servlet.filters.security.SecurityFilter的配置生效,若此方法无效,优先使用Hook方案。

内容的提问来源于stack exchange,提问作者SolS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:42:35