之前搭建了一个小项目,在登录超时后返回登录页会在iframe里打开登录页面,这显然不是我想实现的效果,应该是拦截之后,登录页面在iframe的顶层页面显示,趁着今天有时间就查了一下如何解决这个bug。

解决办法,在登录页面中,添加js判断,如果不是顶层框架跳转到登录页面,则将顶层的页面url设置为跳转当前这个iframe框架的页面,也许是一个转发的action,也许是重定向到login.jsp页面。为了逻辑的清晰,最好是在后端的logout方法中,重定向到login.jsp。

login.jsp页面中的js判断为:

$(function(){login.initPage();
});var login = {//初始化页面跳转,为了防止从iframe跳转到login页面直接在iframe中显示login页面initPage : function() {//alert(location.href);if(window.top != window.self){top.location.href = location.href;}},
}
/*
或者直接添加一个if判断
if (window != top) {top.location.href = location.href;
} */

但是这样虽然实现类登录失效拦截后,iframe顶层进入登录页面,但是是在login.jsp加载完之后执行的if判断,这样还是将top.jsp闪了一下,显然这样并不是一个完美的方法,但是又没有更好的解决办法也只能先这样用了。

登录拦截之后,登录页面出现在iframe的src里面相关推荐

  1. 一个项目学会前端实现登录拦截

    一个项目学会vue全家桶+axios实现登录.拦截.登出功能,以及利用axios的http拦截器拦截请求和响应. 前言 该项目是利用了Github 提供的personal token作为登录token ...

  2. 【Vue+axios】 登录拦截验证token,路由拦截器

    GitHub项目地址:https://github.com/superman66/vue-axios-github/tree/master/src router文件夹中的index.js添加路由权限校 ...

  3. springboot的登录拦截机制

    转自:https://blog.csdn.net/qq_26555463/article/details/78296103 如果是一个后台的管理项目的,有些东西是不能直接就可以访问的,必须要登录才可以 ...

  4. 登陆拦截拦截ajax,过滤器实现登录拦截需要注意的问题(AJAX请求的处理)

    1.问题描述: 最近自己在写demo时遇到一个问题,在ajax请求时用Filter做登录拦截,结果页面不跳转(Ajax是不能做转发和重定向的).... 最终的最终在同事zt的提示下,恍然大悟,虽然很基 ...

  5. Springboot实现登录拦截的三种方式

    文章目录 1. 登录认证 1.1 介绍 1.2 方式 1.3 扩展 2. 实现 2.1 项目结构以及前置准备 2.2 过滤器实现登录拦截 2.3 拦截器实现登录拦截 2.4 AOP+自定义注解实现 2 ...

  6. 在https页面中使用iframe出现安全警告的解决方法

    在Https页面中,如果iframe所引入页面是非https协议的页面,或者src属性不存在都可能导致浏览器弹出安全警告.本人在网上查找相关资料,总结如下几种解决方法: 创建一个只含有的空白htm页面 ...

  7. 前后端分离,如何解决跨域(代理模式)、路由拦截(进入页面需要登录)以及请求拦截(登录TOKEN失效)等问题(初学者)

    前端时间项目需要发布一个较大的版本,工作比较忙,加了好多个晚上的班,感觉自己有点缺氧了.最近稍微闲下来了,顺便调休了三天,刚刚给家里来了个大扫除,看着这干干净净的小家,心里顿时舒服了很多. 下面进入正 ...

  8. Springmvc拦截所有html和Controller,实现未登录则返回登录页,已登录则可以访问需要登录的页面。

    业务逻辑:后端mvc拦截器拦截所有的*.html和*.app请求(controller的后缀,用于识别controller,也可以换成其它如:userLogin.action),检查登录状态如果未登录 ...

  9. vue拦截器刷新登陆页面_Vue + Spring Boot 项目实战(六):前端路由与登录拦截器-Go语言中文社区...

    前言 这一篇主要讲前端路由与登录拦截器的实现.放在一起讲是因为我在开发登录拦截器时因为这个路由的问题遇到了很多坑,花费了很长时间,网上的解决方案都不怎么靠谱,综合了好几种办法才最终成功,其实关于这个部 ...

最新文章

  1. OpenCV入门要掌握的基本函数
  2. 同类分析比较工具 google trend
  3. 【算法】输入一个链表,反转链表后,输出新链表的表头。
  4. kvmweb管理工具_KVM web管理工具——WebVirtMgr
  5. 如何采集指定年份的poi_房价关键影响因素分析:从数据采集到建模全过程
  6. 计算机网络的定义功能和分类,计算机网络的定义和分类.ppt
  7. 不就是要个30K的薪资,他还问我Nginx调优
  8. Python 两种装饰器
  9. DCMTK3.5.4与3.6.0版本的区别
  10. matlab二进制操作,[转载]Matlab二进制类型数据相关操作
  11. 模板元实现顺序、分支和循环结构
  12. boost::variantT1, T2类型变量的适配
  13. 牢记将iPhone特色硬件优势发挥到极致
  14. LAMP源码安装配置实战
  15. 基于协同过滤,NMF和Baseline的推荐算法
  16. 快速理解浮动对标准流的影响
  17. 1.2Sakura语法基础篇
  18. nginx获取第三方ngixn中请求头信息以及判断是否有参数的跳转地址
  19. aid learning安装应用_aidlearning下载-Aid Learning 安卓版v0.80-PC6安卓网
  20. 吃鸡录屏怎么录到自己的声音 吃鸡录屏怎么隐藏按键

热门文章

  1. Android多图加载成动画
  2. 日复一日,年复一年,祝我們都好在新的一年.
  3. 【315期】面试官问:在大数据量情况下,如何优化 ElasticSearch 查询?
  4. eclipse看不到android设备,为什么Eclipse的Android设备选择器没有显示我的Android设备?...
  5. 基于Java的社区团购系统丨团购商城系统
  6. 如何制作,支付后跳转到任意网址的图片二维码
  7. error C2065: “IDD_DIALOG1”: 未声明的标识符 .
  8. 红米3 android 版本,四型号五版本分不清?红米3各大版本详细解读
  9. 从删除到坐牢,这个锅背不动
  10. Android实现全景图