我知道的是cookie是不能跨域的,有什么办法呢?

解决方案 »

  1.   

    我去年给公司做了个SSO,没用第三方技术框架,尝试过多种方法,cookie跨域的确不行
    最后我做出来的就是基于浏览器url传递参数的方式,不过自己要做很多其他工作,建立一套保证数据合法有效的机制等等
      

  2.   

    个人基本思路
    Web 应用 A,B1.假设A已登录(即已保存Cookie验证机制码)
    2.浏览B时想使用A登录,则跳转的A页面,A页面检查本域Cookie验证,通过则返回随机key给B页面,B页面验证  (需要统一验证服务)
      

  3.   


    还有就是比较成熟的cas之类的单点登陆系统,我忘了有没有.net版的了,cas最早是在java的
      

  4.   


    我当时为 了这个案子一共尝试了4种方法,包括cookie、代理、iframe等等等等旁门左道都试了试,最终还是用了url跳转方式来实现
      

  5.   

     有那么麻烦吗??跨域使用Forms就行了,MS都封装好了。。
    参考:http://msdn.microsoft.com/zh-cn/library/7t6b43z4(v=VS.100).aspx
      

  6.   

    用WEBSERVERC多系统单点登录,要不就用WCF服务。
      

  7.   

    我做了一套,有点复杂,如果给你的时间不太够用的话,还是弄一份现成的吧.sso的难点很多.做出来了也需要很多次的调试.
      

  8.   

    做个认证中心。可以参考一下oauth跟openid的实现思路。
      

  9.   

    必须的。。forms认证怎么做的,有列子参考下吗?
      

  10.   

    参考:http://www.cnblogs.com/fish-li/archive/2012/04/15/2450571.html
    参考:http://www.codeproject.com/Articles/106439/Single-Sign-On-SSO-for-cross-domain-ASP-NET-applic
    第二个分为两节、差不多  都比较详细
      

  11.   

    cookies跨域,如果从A站上的链接去B站,可把cookies做对称加密,然后放到url后面做参数传递过去。
      

  12.   

    不明白加密过的cookies是怎么样绕过去的,即便你篡改了也是一样要去数据库检索的。
    比如我在A登录成功后,将用户名+秘钥进行可逆加密,密码带秘钥生成md5,然后保存到cookies里面,不管是通过url还是cookies跨域,我是不知道你们如何能绕过去
      

  13.   

    看LZ需求,LZ如果只是需要实现几个站点之间的单点登录的话建议看看京东的单点登录,用jsonp来实现cookie跨域
    京东SSO单点登陆实现分析 
    这个方案理解起来也很方便,实现起来当然还是很方便,因为我也实现了嘛
    想看实例自己去京东上面一直登录区分析他的请求就可以了
    顺便给你一张我早期设计一个登录图
    祝LZ早日实现哦
      

  14.   

    还有顺便说一句,京东的Cookie加密应该是RSA非对称加密的
    有需求的话可以看下我的文章
    整合一个基于c#的RSA私钥加密公钥解密的Helper类,含源码
      

  15.   

    http://www.cnblogs.com/wu-jian/archive/2012/11/14/2756694.html
    参考这个,我用这个方法实现的,很成功。另外加密的地方,自己要好好写一写,上面没做太多加密内容,我使用了了AES对称加密。我是将一个对象序列化进行加密,传递字符串给子站,在子站那边做解密和反序列化。
      

  16.   

    jsonp
    具体看这里,我自己写的
    http://blog.chinaunix.net/uid-25508399-id-3431705.html