動態(tài)切換登錄模式(區(qū)分內(nèi)部登錄以及外部登錄模式)

前言:

由于業(yè)務(wù)需求,之前實現(xiàn)的單點登錄。是我們自己開發(fā)的一個鑒權(quán)系統(tǒng)。實現(xiàn)過程從0-1都是我們自己去設(shè)計。(我們就叫外部模式吧)

現(xiàn)在有個需求就是我們的系統(tǒng)要集成已有第三方的單點登錄。既集團(tuán)4a集成。

現(xiàn)在的需求是這樣的,能夠最小化配置,能夠兼容外部模式,也能夠兼容4a模式,然后通過一個配置。打包,可以將這兩種都區(qū)分開來,并且都可以正常運行。如果是部署自研鑒權(quán)系統(tǒng)方案的時候,則關(guān)于集成第三方相關(guān)的代碼不打包進(jìn)來。反之部署集成第三方代碼也是同樣的道理。

實現(xiàn)思路

通過node.js在編譯的時候進(jìn)對入口文件進(jìn)行文件的替換。(這個入口文件就是單點登錄邏輯。是一個js文件),得益于vue3中的compostion-api方式。所以可以將一些邏輯封裝成compostion-api方式

image.png
image.png

所以我們在env-config.js中配置好登錄模式以及跳轉(zhuǎn)地址等。我們來看看有些什么內(nèi)容


image.png

替換登錄入口邏輯如下:


image.png

在打包前調(diào)用utils.toggleLoginMode()方法即可。

ps:當(dāng)然還有一些其他的代碼我這里就不全部貼出來了。因為還有一些兼容性處理代碼。到這里其實已經(jīng)差不多了。不一定適合所有人。只是剛好有這個需求所以搞了這么個處理方案。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,007評論 2 59
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 30,245評論 8 265
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,663評論 1 32
  • 狂神說Vue筆記 想要成為真正的“互聯(lián)網(wǎng)Java全棧工程師”還有很長的一段路要走,其中前端是繞不開的一門必修課。本...
    華夏天驕閱讀 1,073評論 0 0
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,306評論 2 89

友情鏈接更多精彩內(nèi)容