cookies可以跨域了~单点登陆(a.com.cn与b.com.cn可以共享cookies)
如果您的a.com.cn站点需要与b.com.cn站点共享cookies,一般满足这种要求的系统是为了做单点登陆的,现在我来讲一下实现方法:
a.com.cn登陆后,写cookies,在b.com.cn里,登陆状态为已经登陆,即它们的cookies可以共享
在a.com.cn站里写cookies的同时,调用b.com.cn里的写cookies的方法,代码如下
<script type="text/javascript">
function CategoryRedirect(id, url) {
location.href = "/Help/CategoryRedirect?id="+id+"&url="+url;
}
</script>
[HttpGet]
/// <summary>
/// 需要跨域读取,写COOKIES(跨域有问题)
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult CategoryRedirect()
{
this.ControllerContext.HttpContext.Response.AddHeader("cache-control", "no-cache");
VCommons.Http.CookieHelper.Remove("CategoryID");
VCommons.Http.CookieHelper.Write("CategoryID", Request["id"]);
ViewData["id"] = Request["id"];
ViewData["url"] = Request["url"];
return View();
}
VIEW文件
<script language="javascript">
window.onload = function() {
location.href = '<%=ViewData["url"] %>';
}
</script>
<div>
<iframe src='http://b.com.cn/setcookies.aspx?id=<%=ViewData["id"] %>' style="display:none"></iframe>
</div>
这样每页a.com.cn写COOKIES时,都调用了一个b.com.cn的写COOKIES的方法,达到的效果就是在b.com.cn里可以读到这个cookies。
同理如果b.com.cn要写的cookies在a.com.cn里共享的话,再用相同的方法做一次就可以了
b.com.cn里的设置cookies代码如下:
setcookies.aspx
public partial class setcookies : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("p3p", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
VCommons.Http.CookieHelper.Remove("CategoryID");
HttpCookie cookie = new HttpCookie("CategoryID", Request["id"]);
cookie.Domain = "c2cedu.com";
HttpContext.Current.Response.AppendCookie(cookie);
}
}
http://www.cnblogs.com/lori/archive/2011/08/01/2123875.html
cookies可以跨域了~单点登陆(a.com.cn与b.com.cn可以共享cookies)相关推荐
- ASP.NET站点跨子域名单点登陆(SSO)的实现
http://blog.csdn.net/jason_dct/article/details/8502075 ASP.NET站点跨子域名单点登陆(SSO)的实现 在MSDN的文档"配置跨应用 ...
- Cookie 跨域解决方案(顶级域名和子级域名之间的Cookie共享、修改、删除)
最近项目中刚好涉及到了主域名和子域名之间的共享和相互修改.删除,也就借此机会总结一下常用的几个场景,域名的话就拿顶级域名和二级域名为例,其他的场景都是类似. 一.设置COOKIE 1.顶级域名 顶级域 ...
- ajax请求头cookies中传递sid,跨域请求单点登录,登录成功,但是在controller中获取的cookie与浏览器中不一致,请大神指点一二。^_^...
跨域请求js代码: $.ajax({ type:"post", async:false, contentType : "application/x-www-form-ur ...
- jsonp跨域实现单点登录,跨域传递用户信息以及保存cookie注意事项
网站A:代码:网站a的login.html页面刷新,使用jsonp方式将信息传递给b.com的login.php中去,只需要在b.com中设置一下跨域以及接收参数,然后存到cookei即可, 注意:网 ...
- 绝对完全跨域统一单点登录登出
应用场景:多个系统下同属于一个用户,当用户登录了web1系统,那么访问web2,web3. . . . 时候,用户就无需再次登录.如:淘宝与天猫,登出也如此,一个系统登出,其他系统的登录也随之失效,这 ...
- 深入理解跨域SSO单点登录原理与技术
文章目录 1 SSO体系结构 1.1 SSO 1.2 体系结构 1.3 Token(令牌) 1.4 同域SSO原理分析 token的生成 token过期移除 认证流程 1.5 跨域SSO原理分析 分析 ...
- 完全跨域的单点登录(SSO)解决方案源码解析
为什么80%的码农都做不了架构师?>>> 本文介绍的是一种PHP的开源SSO解决方案,可完全跨域,实现较简洁,源码地址:https://github.com/legalthin ...
- Session跨域及单点登录解决方案
cookie机制 关于cookie和seesion的联系 cookie中会包含那些信息 名字,值,过期时间,路径,域 cookie会带到http请求头中发送给服务端 如果cookie没有设置过期时间的 ...
- axios跨域携带cookie_axios 跨域处理以及带 cookies 的请求
背景 在开发 vue 的项目时,使用 axios 来与后端交互,经常会遇到几个问题 请求跨域 请求中带 cookies 请求跨域解决方案 解决请求跨域有以下两种方案 同源访问 后端允许跨域请求 这里主 ...
最新文章
- 简单介绍python迭代器和生成器
- 阿里云引入AI力量智能护航金砖会议
- 【巧妙算法系列】【Uva 11464】 - Even Parity 偶数矩阵
- 苹果8a1660是什么版本_iOS 13频繁“翻车”,果粉们面对苹果将情何以堪
- 适用于Linux / X11的Qt
- 秒懂边缘云 | 边缘云技术进阶
- 【PC端vue ui框架学习】vue项目如何使用基于vue的UI框架iview
- Flask之Flask实例有哪些参数
- 组件化网页开发 / 步骤一 · 5-1 课程总结
- 无人车业务中的视觉三维重建
- MES系统整体解决方案
- localhost改成想要的IP方法
- 【Jupyter notebook更改默认浏览器】
- ABP领域层——实体
- kali Linux隐藏IP教程,Kali Linux 设置动/静态IP地址以及修改DNS
- 剑指 Offer 61-68
- [论文阅读] LCC-NLM(局部颜色校正, 非线性mask)
- 详解SQL中几种常用的表连接方式!
- Lawnmower(codeforces115B)
- 微信小程序--超简单贪吃蛇