cookie为什么不能跨域访问 如何使用Cookie实现跨域的单点登录?
如何使用Cookie实现跨域的单点登录?
在指定的域中写入所需的cookie
create cookie回应。饼干(“MyCookie”).Expires=日期365回应。饼干(“MyCookle”)。域=“mydomaln.com网站"
回应。饼干(“MyCookle”)(“Username”)=strUsername回应。饼干(“MyCookle”)(“Password”)=strPassword
读写cookie非常简单。上面的代码创建一个cookie并设置cookie的属性:域、过期时间和存储在cookie中的其他值。这里,strusename和strpassword是在前面某处设置的变量。然后,通过下面的语句读入cookie。
“读取cookie
datexpdate=请求Cookies(“MyCookie”)
标准域=请求Cookies(“MyCookle”).Domain
结构名称=请求Cookies(“MyCookle”)(“Username”)
strPassword=请求Cookies(“MyCookie”)(“Password”)
正常情况下,浏览器禁止跨域访问cookies。通常,跨域cookies可以通过SSO服务获得。其思想是:域a页面访问位于域a中的服务器,验证权限,域a服务器与域B服务器通信,记录认证域的唯一加密字符串(并向域B服务器发送cookie信息),域a服务器返回302跳到域B,并将加密字符串作为URL的一部分,从a域跳转到B域,B域服务器通过加密字符串提前从a域服务器获取cookie信息,并在响应头中添加set cookie字段设置cookie
设置allow control allow credentials,使cookie可以跨域携带;同时,设置Allow控件Allow origin。此时不能使用通配符。
js中cookie可以跨域取值吗?
正常情况下禁止浏览器获取跨域Cookie
通常可以通过SSO服务获取跨域Cookie。其思想如下:
域a页面访问位于域a中的服务器以验证权限
域a服务器与域B服务器通信,记录一个唯一的加密字符串作为身份验证域(并向域B服务器发送cookie信息)
域a服务器返回302跳转,跳转到域B,并将加密字符串作为url的一部分
页面从域a跳转到域B,域B服务器通过加密字符串获取事先从域a服务器获取的cookie信息,并在响应头中添加set cookie字段来设置cookie
跨域无法添加cookie吗?
假设
当通过a网站下的iframe或Ajax调用B下的内容时,ie默认会阻止B写入任何cookie
//B中被调用的页面需要写入P3P头,以消除IE对写入cookie的阻塞context.Response.AddHeader文件(“P3P”,“CP=CAO PSA OUR”)
//A through Ajax调用http://www.B.com何时访问中的内容时,需要使用jsonp。为了匹配它的工作,您需要添加以下两句话来生成jsonp returncontext.Response.ContentType=“文本/纯文本”context.Response.Write文件( 字符串格式(“{0}(“OK”)”上下文。请求[“callback”
//通过调用JSON跨域访问jQuery.ajax文件({
url:url,
类型:“GET”
数据:数据,
数据类型:“jsonp”,
成功:函数(数据){window.location.href=Tourl
}
js能读取跨域的cookie吗?
登录后,登录信息保存到cookie中。同时,服务器中的用户设置登录状态,以检查跨域访问后cookie是否存在。
如果存在,请将其与数据库中的登录状态进行比较。如果处于登录状态。如果页面处于退出状态,则直接访问该页面。跳转到登录页。关闭所有页面后,将登录状态重置为退出
cookie为什么不能跨域访问 跨域时如何处理cookie 跨域传递cookie
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。