jsonp跨域实现单点登录,跨域传递用户信息以及保存cookie注意事项
网站A:代码:网站a的login。html页面刷新,使用jsonp方式将信息传递给b.com的login.php中去,只需要在b.com中设置一下跨域以及接收参数,然后存到cookei即可,
注意:网站A的jsnop传值后,网站B的login.php文件不能放到浏览器中打开刷新查看传递的值,这样会接收不到传递过来的值,需要到另外一个页面打印生成的cookei值来显示,login.php只做逻辑处理,要显示
效果需要到cookei.php中打印效果
网站A的login.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script src="js/jquery.js"></script> <script type="text/javascript"> $(function(){$.ajax({type : 'get',url:'http://b.com/login.php',data : {uid : '333333',password : '858888',},cache :false,jsonp: "callback",jsonpCallback:"success",dataType : 'jsonp',success:function(data){//alert(data);},error:function(data){//alert('error'); } }); }); </script> </head> <body> <input id='inputtest' value='546' name='inputtest'> <div id='testdiv'></div> </body> </html>
网站B的login.php页面,本页面只做逻辑处理,千万别用来打印显示任何东西,否则会清空jsonp传过来的值
<?php header("Access-Control-Allow-Origin: *"); header('Access-Control-Allow-Headers:Authorization'); header("Access-Control-Allow-Methods: GET, POST, DELETE"); header("Access-Control-Allow-Credentials: true"); header("Access-Control-Allow-Headers: Content-Type, X-Requested-With, Cache-Control,Authorization");file_put_contents('test.txt',$_GET); setcookie("user_ticket",$_GET['uid'], time()+3600*24 ,"/"); $_COOKIE['user_ticket'] = $_GET['uid'];
网站B的cookei.php页面,本页面用来显示login.php页面中生成的cookie的值,用来查看效果
<?phpprint_r( $_COOKIE);
自此jsonp跨域传值完成,此功能可用来进行单点登录,
用户1在网站A登陆后,在cookie中会有本用户的sessionid来判别身份,将sesion信息存在redis中去,并将本用户信息存在cookei中或者在登录成功页面写两个隐藏域
吧用户信息放到隐藏域里面,使用jsonp将用户信息,发送给网站B,
网站B使用上述方法,获取到用户1的信息后,存到cookei中去,然后将cookei中的用户信息去与redis中信息比对,看看是否登录过期,以及安全验证,
如果验证通过,将用户1信息,存到网站B的session或者cookei中去,实现单点登录
转载于:https://www.cnblogs.com/yszr/p/10466661.html
jsonp跨域实现单点登录,跨域传递用户信息以及保存cookie注意事项相关推荐
- 深入理解跨域SSO单点登录原理与技术
文章目录 1 SSO体系结构 1.1 SSO 1.2 体系结构 1.3 Token(令牌) 1.4 同域SSO原理分析 token的生成 token过期移除 认证流程 1.5 跨域SSO原理分析 分析 ...
- java单点登录跨域_深入浅出让你理解跨域与SSO单点登录原理与技术
原标题:深入浅出让你理解跨域与SSO单点登录原理与技术 一:SSO体系结构 SSO SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互 ...
- SSO系列之——同域下单点登录系统介绍
Single-Sign-On即单点登录,从一个页面登录,就可以访问其他互信系统,避免用户重新登录,例如登录了百度,则百度云等其他百度旗下其他网站均可免登录访问.在整个业务服务群中起到了辅助.集成的作用 ...
- 在ASP.NET 中实现单用户登录(利用Cache, 将用户信息保存在服务器缓存中)[转]
Technorati 标签: asp.net,cache 由于某些原因,在我们的应用中会遇到一个用户只能在一个地方登录的情况,也就是我们通常所说的单点登录.在ASP.NET中实现单点登录其实很简单,下 ...
- 浙里办开发票据认证单点登陆、令牌获取用户信息
浙里办开发票据认证单点登陆.令牌获取用户信息(JAVA后端处理) 最近在搞浙里办开发,周边的人里都没人接触过,以至于自己摸索搞起来比较心累.浙里办单点登陆需要在IRS上走申请,审核流程通过后,和指 ...
- 微信小程序如何进行登录授权和获取用户信息
微信小程序如何进行登录授权和获取用户信息
- 【CURL】模拟登录网站并获取用户信息
模拟登录网站并获取用户信息 前言 这次来做的是通过代码的方式,模拟登录秒拍官网,获取登录用户的信息. 前后端分离 本文的标题是CURL,传统的网站是PHP代码直接渲染项目视图,通过表单提交到控制器直接 ...
- 微信小程序 获取用户信息并保存登录状态
微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml 转载于:https://www ...
- 简单的java信息显示_JSP实现简单的用户登录并显示出用户信息的方法
本文实例讲述了jsp实现简单的用户登录并显示出用户信息的方法.分享给大家供大家参考.具体实现方法如下: login.jsp string path = request.getcontextpath() ...
最新文章
- SpringMVC一些功能
- 虚拟化的故事连载系列一
- 计算机中丢失sense3.dll,sense3.dll
- ABP从入门到精通(5):.扩展国际化语言资源
- 剥开浮躁表面,直指金融科技内心
- VB.NET 通常用法使用笔记
- luogu P5341 [TJOI2019]甲苯先生和大中锋的字符串
- Oracle BRM处理逻辑
- 单片机启动流程(以STM32为例)
- android 多媒体文件信息,Android 获取多媒体信息
- gridview怎么判断两行字符串是否相等_Python语言难学吗?第13讲——用数据做判断:布尔值...
- vim 编辑二进制文件
- linux编写的员工管理系统,员工信息管理系统设计与实现(叶晖).doc
- star法则java简历_在简历中使用STAR法则
- 一篇文章教会你使用word域代码(seq field code )
- HTML5期末大作业:网页制作代码 网站设计——人电影网站(5页) HTML+CSS+JavaScript 学生DW网页设计作业成品 dreamweaver作业静态HTML网页设计模板
- 清华大学计算机学院软件工程,中国“软件工程”专业最好的3所大学,都是985,清华大学上榜...
- unsteady_rel_perm案例学习
- OpenSearch图搜图、文搜图向量检索最佳实践
- java前后台开发之文件上传
热门文章
- java简单通讯录的实现02person类_用java实现简单的小游戏(你一定玩过)
- html中for标记,C#使用for循环移除HTML标记
- mysql 数据文件压缩,压缩MySQL数据文件的妙招
- android5.1内核版本,Android-x86现已基于5.1.1 Lollipop:支持UEFI和64位内核
- 查车的行驶轨迹_怎么查车辆行驶轨迹?
- android功能网格布局,Visual Studio 开发安卓之布局-网格布局(GridLayout)
- FPGA之道(69)提高设计的综合性能(一)提高设计的鲁棒性
- FPGA之道(10)布线资源与接口资源
- 【 FPGA 】FIR 滤波器结构和优化(一)之滤波器的对称性(Filter Symmetry)
- 全网最详细的Xshell或SecureCRT下spark-shell里出现无法退格或者删除的问题现象的解决办法(图文详解)...