本文将介绍如何将 FineBI 与 CAS 单点登录结合,在此之前需要按如下步骤配置配置好环境:
1)配置 SSL 证书实现 HTTPS 访问
2)安装配置 CAS
3)实现基于数据库的身份验证
将%FineBI%/webapps下的 webroot 文件拷贝到%Tomcat_HOME%/webapps下。
注:BI 工程名 webroot 可以自定义修改,但是需要注意的是后面访问 BI 工程时地址http://ip:端口/工程名/decision中的工程名也要随之更改。
将 CAS 的casclient.jar 和cas-client-core-3.2.1.jar JAR 包和%Java_HOME%/jdk/lib/tools.jar都拷贝到%TOMCAT_HOME%/webapps/webroot/WEB-INF/lib下,如下图所示:
1)在%TOMCAT_HOME%webapps/webroot/WEB-INF目录下新建web.xml 文件,插入代码如下所示:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>Template WebApp</display-name> <mime-mapping> <extension>msi</extension> <mime-type>application/x-msi</mime-type> </mime-mapping> <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://roxy:8443/cas/login</param-value> <!--cas提供登录页面的url--> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> <param-value>https://roxy:8443/cas/proxyValidate</param-value> <!--cas提供service ticker或者proxy ticket验证服务的url--> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>roxy:8443</param-value> <!--客户端应用的域名和端口--> </init-param> </filter> <filter-mapping> <filter-name>CASFilter</filter-name> <url-pattern>/decision/*</url-pattern> </filter-mapping> <filter> <filter-name>FrFilter</filter-name> <filter-class>com.fr.FrFilter</filter-class> </filter> <filter-mapping> <filter-name>FrFilter</filter-name> <url-pattern>/decision/*</url-pattern> </filter-mapping> </web-app>
其中 roxy 为个人配置的域名,请按照个人设置进行修改,如下图所示:
2)添加过滤信息,Java 代码见链接:FrFilter.java
将 FrFilter.java 编译成 class 文件:FrFilter.class 并放在%TOMCAT_HOME%/webroot/WEB-INF/classes/com/fr目录下,如下图所示:
启动 Tomcat 服务器,在浏览器中输入:https://localhost:8443/webroot/decision即进入了 CAS 登录界面,输入用户名和密码即可跳转到数据决策系统对应的用户界面下,如下图: