iframe 能开无痕模式吗?

2022-02-11 11:49:59 +08:00
 az22c

我这边一个 web 项目,需要 iframe 显示两个分公司的网站页面。但是实际上这两个分公司网站都是同一个 web 程序,应要求部署在同一个 web 网页地址,只不过是在授权登陆之后用一个“分公司状态”来进行区分分公司。

所以在操作 iframe 页面里面的时候,如果产生请求,这两个网站程序视为同一个网站,cookie 就会互窜,数据混在一起了。

想问一下能不能通过设置 iframe 就实现无痕模式。这样 cookie 应该就不会互窜了

2447 次点击
所在节点    浏览器
6 条回复
cc1024
2022-02-11 13:37:11 +08:00
本身就是同一个程序,如项目采用 session 形式改造繁琐工作量大。
1.通过跨域形式访问,即主页面和 2 个 iframe 是完全独立的;缺点 iframe 里需要重新登录,且配置不方便,耦合度高。
2.不采用 session ,使用接口形式,以 API-AUTH 方式认证调用(或其他认证);缺点前后端不分离相当于重构。
3.通过拦截器,正确访问请求时,先获取当前使用者的分公司状态,重定向或设置指定参数,在业务逻辑中依据状态操作数据,从而达到分离的效果。

仅作参考非最优方案
Biwood
2022-02-11 13:44:32 +08:00
既然是两个公司,那么用两个域名不就好了。懒得新增域名的话,那只能给不同公司的 cookie 数据加前缀以进行隔离。
az22c
2022-02-11 16:11:54 +08:00
> 既然是两个公司,那么用两个域名不就好了。懒得新增域名的话,那只能给不同公司的 cookie 数据加前缀以进行隔离。

@Biwood 其实 iframe 里面的是一个后管项目。切换分公司只是想看不同的分公司数据而已
az22c
2022-02-11 20:31:03 +08:00
@cc1024 其实最基本的,iframe 里面的系统作为老系统,无论如何都绕不过要解决“不同分公司的 cookie 重名”的问题。

目前该后管系统正是基于 cookie session 机制,据说这个系统解决 cookie 重名问题很麻烦
dbolo123
2022-02-11 22:50:13 +08:00
有个思路不知道是否可行,不同分公司使用不同的 session name (就是存 session id 的 cookie name ),处理的时候动态修改这个 session name
dbolo123
2022-02-11 22:51:25 +08:00
@dbolo123 处理的时候根据参数识别是哪个分公司,然后动态设置对应的 session name

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833156

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX