外部链接跳转到vue项目传递参数实现单点登录

外部链接和VUE项目互相跳转实现退出登录_吹牛不交税的博客-CSDN博客
1、问题背景描述:

我有一个困扰了很久项目需求,前台门户用的MVC,前台登录之后需要能点击某个按钮就能进入后台vue开发的前端项目,不需要重新登录。这个需求中mvc项目相对于vue项目来说是外部链接,他要跳转到vue项目,并传递登录的用户信息给vue项目,才能让vue项目免除登录。

首先前台门户的mvc项目跟后台vue项目他们是不同的站点,mvc项目端口是9995,vue项目的端口是9995。 那这样肯定是跨域了的,所以前台登录后存储的cookie也好,localStorage也好,后台vue项目肯定都是访问不到的。那这个时候跳转链接唯一能传递参数的办法就是url地址里面传递。

2、前台mvc项目实现

我使用了一个mvc的action控制器来在后端取得cookie中的用户信息,组成url,实现跳转。

其实也可以在前端用jequry来实现,不过记得一点,如果你的参数值里有中文,要做url的编码HttpUtility.UrlEncode(userName) ,_adminUrl变量的值是目标站点根地址,是我在配置文件中配置的,要自己在控制器构造函数中提前取出。 

经过测试实践:后端控制器代码实现跳转的方式,在windows里面调试运行时没问题,但是发布到linux里面运行,Response.Redirect(_adminUrl); 这个跳转会产生500错误。我的.netcore项目还是配置过跨域的,哪怕是把服务器发布后的域名地址都配置允许跨域,都没用。所以我又用前端js方式实现了一次跳转,避开linux中运行时跨域跳转不了的坑。

前端实现都是些很基础的代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值