企业版重新登录问题

提问 5 1289
jclazz
jclazz VIP3 2019-01-02
版本:renren-security 2.0 开发环境:
企业版后端重启后,前端进行操作时就会出现“画中画”效果,原本显示业务界面的标签页里面显示的是登录页面,登录成功后里面会又出现一个完整的页面,感觉很怪异。可否改成会话失效弹出登录框或者直接跳转到登录界面? 如果官方不打算修改的话,提供一下思路吧。 img[//cdn.renren.io/65b6a20190102172135774.jpg] img[//cdn.renren.io/0b13d201901021721459717.jpg]
回帖
  • 世纪末
    2019-01-02
    这里没啥人气了吗?在考虑要不要使用这套框架呢。 顺便回答: 在登录页面的javascript里添加(建议直接添加到head里scipt标签) if (window != top) top.location.href = location.href;
    1
  • daxiong
    2019-01-03
    请问后台重启后,iframe里面嵌套的页面请求返回的code是401吗?如果是,那应该不会存在这种状况。因为common.js定义有做iframe是否被嵌套window对象判断,同时拦截http请求response处理。 img[//cdn.renren.io/48e2c201901031631513780.png] 现在如已经出现这种“画中画”效果,可以在login.js文件中找到dataFormSubmitHandle方法,将window.location.href = 'index.html'; 改为win.location.href = 'index.html'; 可以这样做测试,查看vm.$data里面的值是完全不一样的: img[//cdn.renren.io/26041201901031637481206.png]
    0
  • jclazz
    jclazz VIP3 (楼主)
    2019-01-03
    @daxiong 不是401,是302。后端重定向到了login.html, 应该是shiro拦截的,但是逻辑上讲似乎也没毛病 face[汗] 。 我在社区提这个问题是觉得这个是框架的问题,最好统一解决。 问题很好重现的,就是企业版(常规)2.0的代码,一个字都不用改: 1 把程序跑起来 2 在浏览器中登录,随便点开一个菜单,打开标签页 3 把程序重启 4 回到浏览器,点击顶部那个环状刷新按钮来刷新已经打开的标签页(也就是iframe加载的页面。比如dept.html) 5 出现画中画登录界面 顺便感谢 @世纪末 的帮助 补个图吧: img[//cdn.renren.io/3ca6e201901032234572690.PNG]
    0
  • daxiong
    2019-01-08
    感谢您们的支持,这个bug可根据@世纪末给出的方案解决。在login.js文件中添加如下代码判断。 [pre] created: function () { if (self !== top) { window.parent.location.href = 'login.html'; return false; } vm.i18nHandle(vm.$i18n.locale); vm.getCaptcha(); }, [/pre] img[//cdn.renren.io/171f2201901082220451255.png]
    1
  • @daxiong git上已经更新了,有效率
    1
本帖已结贴