需求描述如下:
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可以采用一些加密算法进行加密。
分享到:
相关推荐
#### 二、Deep Web数据集成的关键问题 1. **数据发现**:在Deep Web中定位和识别潜在的数据源是一项基础工作,但鉴于数据源的隐匿性和多样性,如何高效准确地进行数据发现成为首要难题。 2. **数据访问**:Deep ...
企业应用集成是实现企业信息系统间集成的有效解决方法。分析了传统的和基于Web Services的企业应用集成方法,指出基于Web Services的企业应用集成是未来的发展趋势。利用Web Services技术,建立了企业应用集成框架,...
这些技术不仅适用于B2B集成,还可以用于构建微服务架构、云服务以及企业内部的应用集成。通过深入研究这些主题,你可以为自己的项目选择最适合的通信方式,从而提高系统的灵活性、可扩展性和可维护性。 总之,《NET...
### Deep Web 数据集成问题研究 #### 一、引言 ...综上所述,虽然Deep Web数据集成面临着诸多挑战,但随着技术的不断进步和发展,相信在未来能够更好地解决这些问题,充分利用Deep Web中的海量信息资源。
1. **BIRT作为独立Web应用集成** 在这种集成方式中,BIRT被部署为一个独立的Web应用,然后通过API或URL调用来嵌入到你的主Web项目中。首先,你需要下载并安装BIRT Run-time Environment,这是一个包含BIRT报表引擎...
### 将Power BI报表集成到Web应用程序 #### 知识点概述 本文旨在详细介绍如何将Microsoft Power BI报表集成到Web应用程序中。此过程涉及到多个步骤,包括但不限于设置前提条件、创建工作区、安装配置网关、注册...
触摸屏Web应用开发关键问题及解决办法 在触摸屏Web应用开发过程中,开发者面临一系列独特挑战,尤其是在设计、用户体验和兼容性方面。本文将深入探讨这些关键问题,并提供实用的解决策略,帮助开发者构建高效、用户...
在开发Web应用程序时,了解如何使用不同的工具和框架是非常关键的。本文主要关注使用.NET SDK创建Web应用程序,尽管Visual Studio.NET 2005提供了一种便捷的方式,但通过SDK直接创建应用程序能深入理解其底层机制。 ...
基于J2ee的WEB应用质量保证解决方案,是IBM Rational提出的一套全面的软件质量保障体系,旨在提升基于Java EE(现称Jakarta EE)架构的Web应用开发与测试的效率和质量。该解决方案覆盖了软件开发生命周期的多个关键...
2. Web部署选项:PowerBuilder提供了多种将桌面应用程序转换为Web应用的方式,包括WebWindow、Web Application Builder(WAB)和.NET Web Forms。WebWindow是最早的Web支持方式,允许在浏览器中显示PowerBuilder窗口...
海康威视作为全球领先的安防产品及解决方案提供商,其web集成Demo主要展示了如何将海康摄像头与Web应用程序相结合,实现视频监控的集成开发。这个Demo包含官方提供的开发包、开发手册以及DEMO示例,为开发者提供了...
Eclipse 是一个强大的Java开发集成环境,而Struts2是一个基于MVC设计模式的Web应用框架,用于简化Java EE Web应用程序的开发。本教程将详细阐述如何在Eclipse中集成Struts2,以及在此过程中可能遇到的问题及其解决...
Web数据集成的元数据解决方案是通过使用RDF(Resource Description Framework)来实现的,这是一种由W3C提出的标准,旨在标准化Web资源的描述方式,从而提高数据交换的效率和资源发现的能力。RDF的核心思想是将Web上...
对于希望将Web服务功能添加到其现有应用程序的企业或开发者而言,了解如何将Axis2与现有的Web项目进行集成至关重要。 #### 集成步骤 要将Axis2集成到现有的Web项目中,主要步骤包括: 1. **准备Axis2环境**: - ...
1. "Web_应用程序开发——算法分析与应用.pdf":这份文档可能详细介绍了Web应用开发中的算法应用,包括排序、搜索、图论等,这些算法在优化Web性能、解决复杂问题和提高用户体验方面起着关键作用。 2. "CodePub.Com...