大家好,我是前端开发工程师 小王,前几天项目 需要做一个单点登录的功能,刚开始我没有思路,无从下手,后来请教了别人,总算是解决了,如期完成了,其实很简单,下面我给大家提供一下我的思路,如有不对的地方,欢迎大家指点!
一、我的业务场景是:主系统单点免登陆跳转我们子系统
二、我的思路如下:
首先我们需要配置一个白名单,在路由前置守卫中放行,目的就是在没有token的情况下,也能路由跳转的访问的页面,我们需要在这个页面实现免登陆一系列操作
我是在permission.js配置的,如图所示
1.1白名单配置
![](https://i-blog.csdnimg.cn/blog_migrate/dbd5912ff07f90f45e74d77e2b9413b6.png)
1.2 路由前置守卫代码,判断他要去的to,path 是不是在白名单中,在的话直接放行,否则跳转登录页,看你需要
![](https://i-blog.csdnimg.cn/blog_migrate/d87f4c952554907607c0baded8fc4113.png)
1.3接下来就来到我们的login3页面获取路由参数,声明变量存储使用
![](https://i-blog.csdnimg.cn/blog_migrate/56e7f03a8e130e8f811c5ecf22616a1c.png)
1.4 接下来就是调接口获取参数
![](https://i-blog.csdnimg.cn/blog_migrate/b15451ae3702455c9d7dc9a38e2e8771.png)
1.5如图所示 是获取过token后,执行的操作,获取用户信息,到这里我们的免登陆功能就算实现了
![](https://i-blog.csdnimg.cn/blog_migrate/08cb013fead2fec1949e8623e12cbcde.png)
贴图代码:是我一口气写下来,还有很多可以优化的地方,提供给大家,供大家参考,如有不对的地方,欢迎各位大佬 多多指教!