跨域WEB-SSO

      假设有2个域名:xxx.abc.com,xxx.bbc.com。 且用户已登陆过xxx.abc.com并获得了SSO的token,然后将该信息保存至该域名的cookies中。

      再登陆xxx.bbc.com页面,通过页面执行js的src属性,跨域获得xxx.abc.com的cookie中的信息。然后就可以进行用户token合法性验证了。

 

xxx.bbc.com页面跨域访问http://xxx.abc.com/getToken.jsp,将获得的js变量getCookies的值显示到页面上

<div id="cookie">null<div/>
<script type="text/javascript" src="http://xxx.abc.com/getToken.jsp"></script>
<script type="text/javascript">
	document.getElementById('cookie').innerHTML=getCookies;
</script>
 

xxx.abc.com/getToken.jsp 将返回值是一个js变量,该接口将访问本站点的用户cookies信息赋予js变量。

代码如下

<%
Cookie[] cook = request.getCookies();
String js = "var getCookies='";
for(int i=0; i<cook.length; i++) {
	js += cook[i].getName()+":"+cook[i].getValue();
}
js +="'";
out.print(js);
%>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值