`

2个web应用集成问题解决

阅读更多

需求描述如下:

 

2台机器部署了2个web应用,A应用需要访问B应用的URL。为了保证URL不会让任意用户随便粘贴就可以访问,需要在B应用上加上filter拦截请求,并进行权限校验。A应用的URL给用户看来是一个中间跳转页面的URL。在这个中间页面,添加hidden的value,在B应用的filter端进行value的校验。代码如下:

 

<%@ page language="java" contentType="text/html; 

charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
	<head>
		<title></title>
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">

		<script type="text/javascript">
		function init(){
			document.getElementById('myForm').action="http://localhost:8080/ext2.2/Filter.jsp"
			document.getElementById('myForm').submit();
		}
		</script>
	</head>
	<body onload="init()">
		<form method="post" id="myForm">
			<input type="hidden" name="key" id="key" value="MERKTLTTOR">
		</form>
	</body>
</html>

 

 

 

 

<%@ page language="java" contentType="text/html; 

charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
	<head>
		<title></title>
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">

		<script type="text/javascript">
		function init (){
			<%
			String key=request.getParameter("key");
			if(!"MERKTLTTOR".equals(key)){
			%>
				alert('不允许访问');
			<%
			}
			%>
		}
		</script>
	</head>
<body onload="init()">
		<form method="post" id="myForm">
			<input type="hidden" name="key" id="key" value="MERKTLTTOR">
		</form>
	</body>
</html>

 

 

 

这是filter页面,实际中可以是真正的过滤器filter。

中间页面采用post提交,用户在url中看不到提交的hidden。

 

中间页面的form的action可以用request.getParamter()获取

 

当然value可以采用一些加密算法进行加密。

 

 

1
5
分享到:
评论
9 楼 jamesji 2011-04-23  
Cognos 的产品除了好看以外,垃圾的地方很多。

建议直接使用它的 SDK,而不是通过它的那个 url converter 什么的。那个东东做的功能很烂,而且只能在 IE 使用。尤其如果是 composite report.

另外一个做法就是在 web server 上做手脚。如果是 report server request, 就在 cookie 里做一下标记,转到 application server 进行安全验证,如果成功,升级 cookie, 转到report server,否则,跳转到登陆界面。

加一个 web server 的另外一个好处,是可以 cache 一些 report,不用重复生成。

我们当时是用 perl 在 apache server 上写的。
8 楼 liwenjie 2011-02-24  
另外,不仅仅是trustedIP的问题还存在权限认证的问题。

只是trustedIP不能解决权限认证的问题,只能限制访问的地址是A的服务器IP。

该例子只是个雏形,也就是描述下集成的理路。在实际使用中可能还有不少工作要做。

比如跳转jsp页面,可以改为filter,在fileter responst write jsp结果。

parse user 对象,B的filter 解析user对象等
7 楼 liwenjie 2011-02-24  
需求是B应用时报表服务器,比如cognos或者我们自己的报表,返回的是页面,如果是jms或者webservice这些都是EAI的方法,这些应用集成的方法很多,这里不多说。

至于采用什么策略完全是由需求决定的,而不是你想用什么都可以用的
6 楼 jamesji 2011-02-24  
Bad idea.

On site B, in the filter, you should check where the http request comes, and bring the user to a standard error page if the request is not from site A.

Most of application server supports this feature already, it called trusted IP.

Another option is use JMS through a queue or create a web service that used to communicate each other.

5 楼 liwenjie 2011-02-23  
这只是个雏形,其实hidden的value可以从session中获取user信息,判定user对象是否为空?把user对象转换为xml,在另一系统中再转换为User对象实现认证
4 楼 flootball 2011-02-23  
这个进行权限校验如同虚设。
3 楼 liwenjie 2011-02-23  
不好意思啊,贴重了,现在改了
2 楼 computer3 2011-02-23  
filter页面是不是错了呀
1 楼 computer3 2011-02-23  
收到,多谢,嘿嘿

相关推荐

    Deep Web 数据集成问题研究

    #### 二、Deep Web数据集成的关键问题 1. **数据发现**:在Deep Web中定位和识别潜在的数据源是一项基础工作,但鉴于数据源的隐匿性和多样性,如何高效准确地进行数据发现成为首要难题。 2. **数据访问**:Deep ...

    论文研究-基于WebServices的企业应用集成方法研究.pdf

    企业应用集成是实现企业信息系统间集成的有效解决方法。分析了传统的和基于Web Services的企业应用集成方法,指出基于Web Services的企业应用集成是未来的发展趋势。利用Web Services技术,建立了企业应用集成框架,...

    NET分布式应用程序 集成XML Web服务与.NET远程处理

    这些技术不仅适用于B2B集成,还可以用于构建微服务架构、云服务以及企业内部的应用集成。通过深入研究这些主题,你可以为自己的项目选择最适合的通信方式,从而提高系统的灵活性、可扩展性和可维护性。 总之,《NET...

    Deep Web 数据集成问题研究.pdf

    ### Deep Web 数据集成问题研究 #### 一、引言 ...综上所述,虽然Deep Web数据集成面临着诸多挑战,但随着技术的不断进步和发展,相信在未来能够更好地解决这些问题,充分利用Deep Web中的海量信息资源。

    birt与web项目集成

    1. **BIRT作为独立Web应用集成** 在这种集成方式中,BIRT被部署为一个独立的Web应用,然后通过API或URL调用来嵌入到你的主Web项目中。首先,你需要下载并安装BIRT Run-time Environment,这是一个包含BIRT报表引擎...

    将Power BI报表集成到Web应用程序

    ### 将Power BI报表集成到Web应用程序 #### 知识点概述 本文旨在详细介绍如何将Microsoft Power BI报表集成到Web应用程序中。此过程涉及到多个步骤,包括但不限于设置前提条件、创建工作区、安装配置网关、注册...

    触摸屏Web应用开发关键问题及解决办法

    触摸屏Web应用开发关键问题及解决办法 在触摸屏Web应用开发过程中,开发者面临一系列独特挑战,尤其是在设计、用户体验和兼容性方面。本文将深入探讨这些关键问题,并提供实用的解决策略,帮助开发者构建高效、用户...

    创建Web应用程序 使用.NET SDK创建Web应用程序非常必要

    在开发Web应用程序时,了解如何使用不同的工具和框架是非常关键的。本文主要关注使用.NET SDK创建Web应用程序,尽管Visual Studio.NET 2005提供了一种便捷的方式,但通过SDK直接创建应用程序能深入理解其底层机制。 ...

    基于J2ee的WEB应用质量保证解决方案

    基于J2ee的WEB应用质量保证解决方案,是IBM Rational提出的一套全面的软件质量保障体系,旨在提升基于Java EE(现称Jakarta EE)架构的Web应用开发与测试的效率和质量。该解决方案覆盖了软件开发生命周期的多个关键...

    用PB开发WEB应用

    2. Web部署选项:PowerBuilder提供了多种将桌面应用程序转换为Web应用的方式,包括WebWindow、Web Application Builder(WAB)和.NET Web Forms。WebWindow是最早的Web支持方式,允许在浏览器中显示PowerBuilder窗口...

    海康威视web集成Demo

    海康威视作为全球领先的安防产品及解决方案提供商,其web集成Demo主要展示了如何将海康摄像头与Web应用程序相结合,实现视频监控的集成开发。这个Demo包含官方提供的开发包、开发手册以及DEMO示例,为开发者提供了...

    Eclipse WEB项目集成Struts2的过程及问题解决

    Eclipse 是一个强大的Java开发集成环境,而Struts2是一个基于MVC设计模式的Web应用框架,用于简化Java EE Web应用程序的开发。本教程将详细阐述如何在Eclipse中集成Struts2,以及在此过程中可能遇到的问题及其解决...

    Web数据集成的元数据解决方案

    Web数据集成的元数据解决方案是通过使用RDF(Resource Description Framework)来实现的,这是一种由W3C提出的标准,旨在标准化Web资源的描述方式,从而提高数据交换的效率和资源发现的能力。RDF的核心思想是将Web上...

    axis2和已有web项目集成

    对于希望将Web服务功能添加到其现有应用程序的企业或开发者而言,了解如何将Axis2与现有的Web项目进行集成至关重要。 #### 集成步骤 要将Axis2集成到现有的Web项目中,主要步骤包括: 1. **准备Axis2环境**: - ...

    WEB应用与开发与数据库

    1. "Web_应用程序开发——算法分析与应用.pdf":这份文档可能详细介绍了Web应用开发中的算法应用,包括排序、搜索、图论等,这些算法在优化Web性能、解决复杂问题和提高用户体验方面起着关键作用。 2. "CodePub.Com...

Global site tag (gtag.js) - Google Analytics