跨域sso实现

跨域sso实现

一.server
1.提供登陆页面(login.jsp)
2.提供登陆校检的controller(checkLogin)

二.client1
1.验证登陆的controller(login)
1.跳转到server的登陆页面(login.jsp),登陆时提交的url为自己client1的controller(login),login获取用户名和密码,通过http访问servet的checkLogin,并获得登陆结果
3.写cookie的Controller(addCookie)
4.当登陆失败,跳转到server的(login.jsp),当登陆成功,跳转到client1的main.jsp
5.main.jsp添加隐藏的iframe,登陆成功后访问每个client的addCookie的Controller,完成所有客户端cookie的写入。一旦一个客户端登陆成功,其他客户端的cookie也写入了,所以其他客户端相当于也登陆了

三.client2
1.验证登陆的controller(login)
1.跳转到server的登陆页面(login.jsp),登陆时提交的url为自己client2的controller(login),login获取用户名和密码,通过http访问servet的checkLogin,并获得登陆结果
3.写cookie的Controller(addCookie)
4.当登陆失败,跳转到server的(login.jsp),当登陆成功,跳转到client2的main.jsp
5.main.jsp添加隐藏的iframe,登陆成功后访问每个client的addCookie的Controller,完成所有客户端cookie的写入。一旦一个客户端登陆成功,其他客户端的cookie也写入了,所以其他客户端相当于也登陆了

四.跨域写Cookie的几种方式
1.通过html的script标签的src属性,因为src额可以跨域请求资源,将多个script的多个src指向不同域的服务器的写cookie的方法。(IE可能有P3P的限制)
2.通过服务器的redirect实现重定向到其他域的服务器的写cookie的方法(不实用,一次只能重定向一次,有多台客户端的时候很麻烦)

五.跨域读Cookie的方式
1.通过html的script标签的src属性,在a域访问b域的获取cookie的方法,此方法直接返回var cookie = ‘xxx:xxx’并执行,a域页面就有了此变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值