首页 新闻 会员 周边

调用硕迪数据分析系统的报表时,通过超链接调用,如何集成现有系统的权限验证

0
[待解决问题]

硕迪数据分析系统本身包含一个权限管理控制的门户模块,但是在实际应用中很多是作为报表或者大屏页面资源独立部署一个应用,然后通过超链接调用。此时需要进行访问权限控制集成。下面介绍一下硕迪数据分析系统的访问权限集成方式。
1、首先将无门户模块的硕迪数据分析系统的web应用部署在tomcat或其他j2ee服务器。
2、编写过滤器代码过滤对报表等资源的请求,示例代码如下
package com.report.filter;

import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;

public class ReportFilter implements Filter {
    String token=null;
    String key = "36E8A258B31F8B8425900D34AE650842";
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        //如果需要配置密钥可读取自定义配置
        key=filterConfig.getInitParameter("key");
    }

@Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        String token=servletRequest.getParameter("token");
        HttpServletResponse htteResp=(HttpServletResponse)servletResponse;
        if(token==null){
            htteResp.sendError(400,"token为空,无访问权限!");
            return;
        }
        boolean legitimate = true;
        //不同系统验证token不同,下面写自己的验证token的代码
        //legitimate = AuthUtil.checkToken(token);
        if(legitimate){
           filterChain.doFilter(servletRequest,servletResponse);
        }else{
            htteResp.sendError(400,"token不合法,无访问权限!");
            return;
        }
    }

@Override
    public void destroy() {

}
}

3、将代码编译打包为reportFilter.jar,并拷贝到报表服务的web应用目录lib下
4、修改web.xml 添加filter配置,key配置秘钥,如下:
<filter>
<filter-name>reportFilter</filter-name>
<filter-class>com.report.filter.ReportFilter</filter-class>
<init-param>
<param-name>key</param-name>
<param-value>36E8A258B31F8B8425900D34AE650842</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>reportFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5、调用端访问报表的时候需包含token。示例如下:
http://localhost:8080/report/reportJsp/showReport.jsp?rpx=test1.rpx&token=bc627c954b2cfdd9cc03cd31820062f7

那是必然的主页 那是必然 | 菜鸟二级 | 园豆:214
提问于:2022-03-11 10:49
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册