踩坑vue中嵌套iframe项目,嵌套在iframe中的项目无法登录!

这篇具有很好参考价值的文章主要介绍了踩坑vue中嵌套iframe项目,嵌套在iframe中的项目无法登录!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决方案原文
这个我试了下是谷歌浏览器做了限制,在edge上可以正常登录
我遇到这种情况主要是我的项目用的是cookie存储的登录状态。需要设置cookie的域名,使其在嵌入的网站和网站域名下都能访问cookie,但是我设置了还是没用。

我最终的解决方式是将cookie存储状态改成了localStorage存储方式。
踩坑vue中嵌套iframe项目,嵌套在iframe中的项目无法登录!

问题描述
以iframe标签嵌入一个现有的项目到网站中,嵌入的项目无法正常登录,直接在浏览器地址栏输入url并登录是正常的。
问题分析
由于后续接口提示401,判断是登录接口鉴权失败导致的,原因是没有显式设置cookie的samesite属性,导致被默认为Lax,又因为响应的接口属于非顶层导航的跨站请求,浏览器将其屏蔽了!
SameSite属性
该属性一般是随着Set-Cookie响应头设置的,语法为response.setHeader(“Set-Cookie”,“CookieName=CookieValue;SameSite=propValue”),表示该cookie是否可以携带在跨站请求中,可以取三个值:

  1. Strict,表示完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。
  2. Lax,大多数情况下不发送第三方 Cookie,但是导航到目标网址的 Get 等请求除外
  3. None,表示关闭跨站限制,但是需要显式设置Secure属性并配置https
    如果不设置,浏览器会默认为Lax。正如上文所提到的。

解决方案文章来源地址https://www.toymoban.com/news/detail-426102.html

  1. 保证两者的网址一样(域名,测试发现同一主域名下不同的子域名也是可以的)。
  2. 主动设置SameSite为Set-Cookie:Key=Value;SameSite=None;Secure,确保协议为安全协议https
  3. 禁用浏览器对SameSite的默认配置(只会对未设置的SameSite属性有效)

到了这里,关于踩坑vue中嵌套iframe项目,嵌套在iframe中的项目无法登录!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3 ,naive-ui,嵌套modal踩坑

    今天写代码,组合使用了,n-modal,n-datatable和n-select,在n-select组件出问题,无法展开,并且报错 先展示错误的demo代码 ModuleView是抽象出来的组件,问题就出在这个抽象里面,下面是子组件代码; 很明显这是一个嵌套modal的代码。 效果图: 大伙都知道,vue2的时候template里面第一层

    2024年04月10日
    浏览(30)
  • nacos踩坑,输入账号密码无法登录

    问题描述: nacos启动,登录正确的账号密码(nacos/nacos)无法登录 解决思路 : 这里使用的是 jeecgboot 项目 1.检查nacos配置(数据源) 2.排查是否是缓存原因(清楚idea缓存,Chrome缓存) 3.检查数据库 1.检查nacos配置数据库 : 检查账号,密码,url是否连接正确 2.清理缓存 : idea 缓存清理:

    2024年02月12日
    浏览(59)
  • 9.Vue前端使用iframe集成帆软报表的单点登录

    一、背景 需要把帆软报表内嵌到若依里面来。 二、帆软设置 2.1 帆软报表的url 打开帆软后端里面的【目录管理】查看具体报表的url 帆软报表的具体地址为: Frm聚合报表地址: 【帆软的服务http】+【/webroot/decision/view/form?viewlet=demo/demo.frm】 CPT普通报表的地址:【帆软的服务ht

    2024年01月25日
    浏览(30)
  • Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题

    之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章 Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式 Python爬虫(2)-Selenium控制浏览器 Python爬虫(3)-Selenium结合pywin32模拟键盘操作 Python爬虫(4)-Seleni

    2024年02月04日
    浏览(34)
  • iframe嵌套页面传值

    前言:         最近负责的项目大部分都是在别人的网站中通过iframe标签嵌套我方页面,而且项目没有使用近年来流行的框架,所以在本文中的代码只是基于js进行编写。 一、父向子传值         方法一:通过src拼接上需要传递的参数         父页面         子页面  

    2024年01月21日
    浏览(29)
  • iframe嵌套grafana (前端视角)

    1、grafana 启动方式  ①.grafana目录鉴赏。咱们就是直接拿到配置好的grafana。咱们暂时不涉及配置数据啥。   ①.双击grafana-server.exe ,会出现黑色命令框。 ②.在浏览器中访问  http://localhost:3000  此时就可以看到配置好的grafana  2.前端嵌入 ①.html ②.可以通过js切换iframe的src地址

    2024年02月16日
    浏览(32)
  • Iframe在Vue中的状态保持技术

    Iframe是一个历史悠久的HTML元素,根据MDN WEB DOCS官方介绍,Iframe定义为HTML内联框架元素,表示嵌套的Browsing Context,它能够将另一个HTML页面嵌入到当前页面中。Iframe可以廉价实现跨应用级的页面共享,并且具有使用简单、高兼容性、内容隔离等优点,因此以Iframe为核心形成了前

    2024年02月06日
    浏览(42)
  • 禁止网站被iframe嵌套的解决方法

    有时候我们开发的网站可能会被别人利用嵌入到其他网站中,也就是别人镜像我们的网站,造成点击劫持风险。 目前收集到的有以下前后端2种维度来防止网页被iframe嵌套的办法: 针对传统的Clickjacking,一般是通过禁止跨域的iframe来防范。framebusting通常可以写一段代码,以禁

    2024年02月02日
    浏览(34)
  • 解决iframe嵌套第三方网址不能访问

    第一种报错描述: Refused to display \\\'嵌套的网址\\\' in a frame because it set \\\'X-Frame-Options\\\' to \\\'sameorigin\\\'. 关于 X-Frame-Options : X-Frame-Options 是一个 HTTP 响应头部,用于防止网站被嵌入到其他网站的 iframe 中。该协议定义了一些选项,使网站可以控制在哪些网站中可以嵌入自己的内容,从而防

    2024年02月11日
    浏览(30)
  • vue3项目利用iframe展示其他页面

    iframe是html内联框架元素,它能够将另一个 HTML 页面嵌入到当前页面中。 主要属性如下: src 被嵌套的页面的 URL 地址 name 框架名称 scrolling 否要在框架内显示滚动条。值; auto(仅当框架的内容超出框架的范围时显示滚动条)、yes、no width iframe的宽度 height iframe的高度 frameborde

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包