关于前端:记录一个内网系统跨系统单点登录遇到的问题

2次阅读

共计 669 个字符,预计需要花费 2 分钟才能阅读完成。

背景
公司为某公司做模块性能 挂载在该公司之前做的门户网站下面,通过 ids 单点登录,只有用户登录了,在门户网站点击咱们的图标按钮,进入咱们的零碎,反之,如果用户没登录,间接拜访咱们的零碎,会先进行登录验证。
代码实现形式

<a href="http://xxx.xxx.xxx.xxx"  tatget="_blank"></a>

当跳转时,零碎会主动在新开的网址上加上单点登录须要的参数,相似于

http://xxx.xxx.xxx.xxx?token=xxx&key=xxx

问题景象形容
认为是很简略的一件事件,部署到现场,竟然发现单点登录有效,尽管门户网站曾经登录了,并且新开的咱们零碎的地址中携带了须要的必须参数 token 和 key, 但就是有效。

问题剖析
因为种种原因,很难协调门户网站的开发进行解决,只能本人钻研
在尝试了无数次的计划并失败后,惊奇的发现,在登录了用户后,如果在桌面手动建一个 html 页面,将链接写进去,并将 token 和 key 手动赋值在 a 链接的参数上,跳转的时候单点登录竟然胜利了!!!

这是一个突破口!!!
那么问题来了,怎么去模仿一个污浊的相似于在桌面创立一个链接呢

又通过了很长一段时间的百度,最终在 stackoverflow 上找到了解决方案
只有在 a 链接上增加 rel 属性 并且属性值等于 noreferrer noopener nofollow 就行了
具体代码实现

<a href="http://xxx.xxx.xxx.xxx" rel="noreferrer noopener nofollow"  tatget="_blank" ></a>

几乎太神奇了!!!

正文完
 0