历史版本6 :11.0集成CAS后的远程设计 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 问题描述编辑
10.0集成 CAS 之后,远程设计的请求会被 CAS 拦截,导致无法进行远程设计。
2. 解决方案编辑
2.1 定义 RemoteFilter
需要另外定义一个 RemoteFilter,在请求的一开始就过滤 /remote/design的请求。(这个是远程设计走的请求路径),定义 RemoteFilter 代码如下:
package com.fr;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class RemoteFilter implements Filter {
public void destroy() {
}
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)servletRequest;
HttpServletResponse res = (HttpServletResponse)servletResponse;
req.getRequestDispatcher(req.getServletPath() + req.getPathInfo()).forward(req, res);
}
}
2.2 修改 Web.xml
Web.xml 里相应在所有 Filter 的头部加入这个新增的 Filter,代码如下:
<filter>
<filter-name>RemoteFilter</filter-name>
<filter-class>com.fr.RemoteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RemoteFilter</filter-name>
<url-pattern>/decision/remote/design</url-pattern>
<url-pattern>/decision/remote/design/*</url-pattern>
</filter-mapping>
3. 操作方法编辑
1)将编译后的 class 文件放在工程路径webroot\WEB-INF\classes\com\fr下;
2)在 xml 中新增拦截或使用本文提供的附件中的 xml 文件替换;
3)重启工程。
4. 资源下载编辑
点击下载新增拦截和 xml 文件:CAS远程设计.zip
5. 注意事项编辑
设置完成后在通过 远程设计 进行远程连接时,使用的用户必须是 FineReport 数据决策系统内的用户。