跨域页面嵌入

来自ling
跳转至: 导航搜索

此方案都涉及到跨域iframe内嵌问题 需要在header添加跨域信任 response.setHeader("X-Frame-Options","ALLOW-FROM a.xxx.com");

关于跨系统信息共享,有2种方案,如下:

  • 方案一
    • a.xxx.com系统中通过iframe内嵌b.xxx.com系统的页面 url1
    • b.xxx.com的页面url1通过response.setHeader("X-Frame-Options","ALLOW-FROM a.xxx.com");设置a.xxx.com是可以信任的。
    • a.xxx.com系统在登陆成功后将当前用户信息和登陆时间信息加密成一串字符串后写入cookie,cookie值的域为xxx.com;
    • b.xxx.com系统页面url1被打开时,从cookie查找加密后的用户信息,判断当前用户信息是否存在,是那个用户,登陆是否过期,并根据这个用户信息进行权限控制和数据访问控制。
  • 方案二
    • a.xxx.com系统中通过iframe内嵌b.xxx.com系统的页面 url1
    • b.xxx.com的页面url1通过response.setHeader("X-Frame-Options","ALLOW-FROM a.xxx.com");设置a.xxx.com是可以信任的。
    • b.xxx.com系统开放一个webservice供a.xxx.com调用,调用的时候传入a.xxx.com当前的登陆人信息,webservice返回一个只能在有限时间内使用有限次数的加密Access token,比如:uryeiwuqryeiuywifusafdaufdafdasfda
    • a.xxx.com中打开b.xxx.com系统页面url1时,调用webservice获取Access token信息并将Access token信息传入,比如url1?stoken= uryeiwuqryeiuywifusafdauf
    • b.xxx.com系统页面url1被打开时,校验stoken是否存在,是那个用户,登陆是否过期,stoken是否已经被使用过等信息,并根据这个用户信息进行权限控制和数据访问控制