历史版本1 :配置 FineReport 作为 CAS 客户端 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
制作完上述步骤后,下面我们来看下如何将FR与CAS单点登录结合。
2. 实现过程编辑
首先打开%TOMCAT_HOME%\webapps\WebReport\WEB-INF下的web.xml文件,在其中加入如下过滤条件:
- <filter>
- <filter-name>CASFilter</filter-name>
- <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
- <init-param>
- <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
- <param-value>https://localhost:8443/cas/login</param-value>
- <!--这里的server是服务端的IP-->
- </init-param>
- <init-param>
- <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
- <param-value>https://localhost:8443/cas/proxyValidate</param-value>
- <!--这里的ServerName是服务端的主机名也就是CN-->
- </init-param>
- <init-param>
- <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
- <param-value>localhost:8080</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>CASFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
若报表应用设置了权限,则需要将如下代码:
- package com.fr;
- import java.io.IOException;
- import java.io.PrintStream;
- import javax.servlet.Filter;
- import javax.servlet.FilterChain;
- import javax.servlet.FilterConfig;
- import javax.servlet.ServletException;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpSession;
- public class filter implements Filter
- {
- public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain)
- throws IOException, ServletException
- {
- HttpServletRequest re = (HttpServletRequest)req;
- HttpSession session = re.getSession(false);
- //获取session中保留的信息
- String user = (String)session.getAttribute("edu.yale.its.tp.cas.client.filter.user");
- re.getSession().setAttribute("fr_username", user);
- re.getSession().setAttribute("fr_password", user);
- filterChain.doFilter(req, res);
- System.out.println("sds");
- }
- public void init(FilterConfig filterconfig)
- throws ServletException
- {
- }
- public void destroy()
- {
- }
- }
将filter.java编译成class文件,并放在
目录下。然后在web.xml文件中增加如下代码:
- <filter>
- <filter-name>filter</filter-name>
- <filter-class>com.fr.filter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>CASFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>filter</filter-name>
- <url-pattern>/ReportServer</url-pattern>
- </filter-mapping>
最后打开tomcat服务器,在浏览器中输入:http://localhost:8080/WebReport/ReportServer?reportlet=GettingStarted.cpt即进入了cas登录界面。