系统跨域访问

案例:系统A跨域访问系统B(系统A、B分别部署在同一台服务器的2个tomcat上)
1.在A系统超链接一个地址访问B系统

<li style="color: #000000;"><a href="http://localhost:8090" onclick="getLogin();" target="_blank">访问论坛</a></li>

2.在A系统使用jsonp跨域

function getLogin(){
	$.ajax("http://localhost:8090/login/doLoginnext?returnUrl=/&userName=${user.login_id}", {
		timeout:2000,
		async:false,
		dataType: 'jsonp',//返回的数据类型,设置为JSONP方式
		jsonp:'callback',//指定一个查询参数名称来覆盖默认的 jsonp 回调参数名 callback
		jsonpCallback:"successCallback",//设置回调函数名
		crossDomain: true,//是否允许跨域
		success: function (data) { 
			console.log("success")
		},
		error: function (XMLHttpReuqest, textStautus, errothrown) {
			console.log(errothrown);
		}
	});
	//window.open("http://localhost:8090", "_blank"); 
}

注意:

(1)A系统跨域访问B系统的http://localhost:8090,首先需要从A系统登陆B系统,然后才能访问(doLoginnext即为重写的B系统的登陆方法)

(2)重写的B系统的登陆方法只针对从A系统访问B系统跨域时使用,不影响用户在B系统直接登陆的方法

(3)A、B系统应该具有相同的用户名、密码等相关信息

(4)正常跨域登陆应该把A系统的账号、密码等信息跨域时传给B系统用户登陆时账号、密码验证;此演示案例A系统的session保存有用户名等其他信息,没有密码信息;因此跨域时在B系统后台只验证账号,不再验证密码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值