提交者
Gitee
update ruoyi-ui/src/permission.js.
由于重定向url存在 http://xxx.xx.xxx/{id}?param={a}&name={b} 的场景, 当未登录访问时, 通过改js封装登录后重定向参数, 会丢失?后的query params 如: 访问 http://localhost:1024/core/doc/doc?id=1683734914907807745&version=31 期望 http://localhost:1024/login?redirect=%2Fcore%2Fdoc%2Fdoc%3Fid%3D1683734914907807745%26version%3D31 实际通过 to.fullPath 封装后 获得 http://localhost:1024/login?redirect=%2Fcore%2Fdoc%2Fdoc%3Fid%3D1683734914907807745&version=31 登录成功跳转到重定向参数url后, 导致version参数丢失. 需要对 to.fullPath 进行一次编码, 以保证重定向前 to.fullPath 的完整性. 通过 ${encodeURIComponent(to.fullPath)} 获得 http://localhost:1024/login?redirect=%2Fcore%2Fdoc%2Fdoc%3Fid%3D1683734914907807745%26version%3D31 完整url Signed-off-by: who's hu <hup_dev@outlook.com>
正在显示
1 个修改的文件
包含
1 行增加
和
1 行删除
| @@ -45,7 +45,7 @@ router.beforeEach((to, from, next) => { | @@ -45,7 +45,7 @@ router.beforeEach((to, from, next) => { | ||
| 45 | // 在免登录白名单,直接进入 | 45 | // 在免登录白名单,直接进入 |
| 46 | next() | 46 | next() |
| 47 | } else { | 47 | } else { |
| 48 | - next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 | 48 | + next(`/login?redirect=${encodeURIComponent(to.fullPath)}`) // 否则全部重定向到登录页 |
| 49 | NProgress.done() | 49 | NProgress.done() |
| 50 | } | 50 | } |
| 51 | } | 51 | } |
-
请 注册 或 登录 后发表评论