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

[复制链接]
查看11 | 回复0 | 2022-2-23 14:22:00 | 显示全部楼层 |阅读模式
硕迪数据分析系统本身包含一个权限管理控制的门户模块,但是在实际应用中很多是作为报表或者大屏页面资源独立部署一个应用,然后通过超链接调用。此时需要进行访问权限控制集成。下面介绍一下硕迪数据分析系统的访问权限集成方式。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";@Overridepublic void init(FilterConfig filterConfig) throws ServletException {//如果需要配置密钥可读取自定义配置key=filterConfig.getInitParameter("key");} @Overridepublic 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;}} @Overridepublic void destroy() { }} 3、将代码编译打包为reportFilter.jar,并拷贝到报表服务的web应用目录lib下4、修改web.xml 添加filter配置,key配置秘钥,如下:reportFiltercom.report.filter.ReportFilter
key
36E8A258B31F8B8425900D34AE650842

reportFilter/*5、调用端访问报表的时候需包含token。示例如下:http://localhost:8080/report/reportJsp/showReport.jsp?rpx=test1.rpx&token=bc627c954b2cfdd9cc03cd31820062f7
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行