若依前后端分离/微服务版怎样构造免密链接实现其他系统免登录访问
場景
若依前后端分離版手把手教你本地搭建環境并運行項目:
若依前后端分離版手把手教你本地搭建環境并運行項目_BADAO_LIUMANG_QIZHI的博客-CSDN博客
上面在搭建起來前后端分離版的項目后,別的系統要實現通過跳鏈接的方式直接跳轉到
使用若依搭建的系統中從而不用登錄就能訪問系統。
注:
博客:
BADAO_LIUMANG_QIZHI的博客_霸道流氓氣質_CSDN博客
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
1、效果
2、若依前后端分離版與微服務版前端關于這塊代碼是一致的。
首先要將系統的前端驗證顯示與校驗與后臺的驗證碼校驗去掉。
若依前后端分離版怎樣去掉登錄驗證碼:
若依前后端分離版怎樣去掉登錄驗證碼_BADAO_LIUMANG_QIZHI的博客-CSDN博客
微服務版后臺去掉驗證碼有不同,要修改網關gateway的代碼
2、修改前端代碼中permission.js的代碼
修改其邏輯中,沒有token時,原本只有if是否在白名單,else進行退出。
現在加一個判斷else if 判斷url中是否帶有參數且參數是否為指定值。
獲取URL中參數的方法為
to.query.aaa
這里的aaa就是在網頁地址欄中?后面緊跟的參數。這里的to為router的beforeEach的參數
修改這塊的代碼為
??? // 沒有tokenif (whiteList.indexOf(to.path) !== -1) {// 在免登錄白名單,直接進入next()} else if (to.query.aaa === '1') {let username = 'admin'let password = 'admin123'store.dispatch('Login', {username, password}).then(() => {router.push({path: "/index"}).catch(err => {});})}else {next(`/login?redirect=${to.fullPath}`) // 否則全部重定向到登錄頁NProgress.done()}修改位置
這里的邏輯就是判斷如果URL中含有參數aaa并且值為1那么就走登錄邏輯,并且通過指定的賬戶密碼,這里使用的超級管理員的用戶密碼。
這樣可以指定分配對應的賬戶,賬戶分配角色,角色擁有對應的權限,一般是只有查詢權限。
然后在瀏覽器中直接輸入:
http://localhost:1000/?aaa=1
進行驗證,localhost改為服務器Ip即可。
總結
以上是生活随笔為你收集整理的若依前后端分离/微服务版怎样构造免密链接实现其他系统免登录访问的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue中使用el-tag标签实现输入多个
- 下一篇: SpringBoot+Vue+Openl