• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于前后端分離和Spring Security的用戶登錄功能的設(shè)計與實現(xiàn)*

      2021-07-12 11:04:06宋馨來張海濤
      科技創(chuàng)新與應(yīng)用 2021年18期
      關(guān)鍵詞:程序開發(fā)開發(fā)人員后臺

      宋馨來,張海濤

      (重慶工程學院,重慶 400056)

      由于使用B/S模式開發(fā)的項目具有無須安裝即可使用和升級維護方便的優(yōu)點,B/S模式逐漸超越C/S模式成為主流的應(yīng)用程序開發(fā)模式。而使用Java開發(fā)Web應(yīng)用程序又是B/S開發(fā)模式的主流方式。傳統(tǒng)的Java Web應(yīng)用程序開發(fā)基于Servlet技術(shù),通常使用JSP+JavaBean+Servlet進行開發(fā)。這種開發(fā)模式存在以下缺點:

      (1)對項目開發(fā)人員的技能要求高,項目開發(fā)周期較長。該開發(fā)模式下,通常開發(fā)人員不僅要設(shè)計與開發(fā)后臺服務(wù),還要負責前端頁面的設(shè)計與開發(fā),如果由專門的前端開發(fā)人員來開發(fā)前端頁面,最后還需要將前端代碼和后端代碼融合并進行功能聯(lián)調(diào),這顯然會增加開發(fā)時間降低開發(fā)速度。前后端拉通則要求開發(fā)人員熟練掌握前后端開發(fā)技術(shù),會增加開發(fā)人員的技能學習成本,給開發(fā)人員帶來沉重的負擔。

      (2)從項目維護和擴展的角度來說,隨著網(wǎng)站流量的增加和項目架構(gòu)的不斷演進,項目勢必要進行升級擴展和結(jié)構(gòu)優(yōu)化。傳統(tǒng)的開發(fā)模式中前后端代碼耦合在一起,造成代碼的可讀性以及可擴展性不高,給后期項目的維護和擴展增加了難度和成本,可能會影響項目的更新上線速度,降低網(wǎng)站的訪問流量,對企業(yè)造成損失[1]。

      前后端分離開發(fā)模式下,后臺服務(wù)只負責提供數(shù)據(jù)、前端負責解析數(shù)據(jù)和頁面渲染,后端開發(fā)人員負責業(yè)務(wù)和數(shù)據(jù)接口,前端開發(fā)人員負責展現(xiàn)和交互邏輯,前后端可以并行開發(fā)來提高開發(fā)效率,前后端分開部署則避免了職責不清晰導致的開發(fā)人員踢皮球問題,提高了問題定位效率,進而加快項目上線速度,有利于搶占市場[2]。

      因前后端分離的開發(fā)模式較好地解決了傳統(tǒng)的Java Web應(yīng)用程序開發(fā)模式存在的對開發(fā)人員的技能要求高、開發(fā)周期較長和項目維護及擴展困難等問題,而逐漸興起。

      1 前后端分離模式

      如果將Web頁面當作前端,那么后端的功能就是提供數(shù)據(jù),則可以將前后端分離模式簡化,如圖1所示。

      圖1 前后端分離架構(gòu)示意圖

      前后端分別由專門的開發(fā)人員進行開發(fā)并且分開部署,分工明確,互不影響,可以準確判定問題是誰的,避免了前后端代碼糅合在一起無法及時判定責任方而導致互相推諉的問題。

      前后端交互可簡化為前端通過URL調(diào)用后端API接口傳遞數(shù)據(jù)。當然,在軟件開發(fā)之前,需要前后端的開發(fā)人員對API接口的訪問路徑、參數(shù)和返回數(shù)據(jù)的類型等協(xié)商達成一致。

      2 用戶登錄功能的實現(xiàn)

      后端采用SpringBoot+Spring Security安全框架,前端則采用目前比較流行的前端框架Vue.js,兩者結(jié)合實現(xiàn)前后端分離[3]。

      2.1 用戶登錄功能的后端實現(xiàn)

      采用SpringBoot+Spring Security安全框架并且前后端不分離的情況下,實現(xiàn)用戶登錄功能是比較簡單的,主要工作為編寫表單登錄頁面和在Web Security Configuration的configure(HttpSecurity http)中配置表單認證,登錄系統(tǒng)認證成功后會跳轉(zhuǎn)到目標頁面。在前后端分離時這種方法就行不通了,可在configure(HttpSecurity http)中添加自定義的登錄過濾器來實現(xiàn),前端根據(jù)后端返回的JSON數(shù)據(jù)確定登錄成功與否,并由前端決定登錄成功后如何跳轉(zhuǎn)頁面。關(guān)鍵代碼如下:

      2.2 用戶登錄功能的前端實現(xiàn)

      前端采用Vue.js實現(xiàn),Vue.js是一個輕量級的構(gòu)建用戶界面的漸進式JavaScript框架,其核心庫只關(guān)注視圖層,不僅簡單易用,還便于與第三方庫或既有項目整合,與工具鏈以及各種支持類庫結(jié)合使用時,Vue.js也完全能夠為復(fù)雜的單頁應(yīng)用提供驅(qū)動。

      使用Vue CLI創(chuàng)建Vue項目,并結(jié)合Node.js實現(xiàn)了前端的部署,實現(xiàn)了前后端的完全分離。前端項目的關(guān)鍵代碼如下:

      登錄頁面Login.vue中處理用戶登錄的方法定義如下:

      對登錄請求的URL進行路由配置后,前端就可以通過axion發(fā)起HTTP請求訪問后端API,然后根據(jù)后端返回的JSON數(shù)據(jù)進行前端渲染。

      3 結(jié)束語

      用戶登錄功能是Web應(yīng)用程序的必備功能,雖然采用傳統(tǒng)的Web應(yīng)用程序開發(fā)技術(shù)也方便實現(xiàn),但隨著移動互聯(lián)網(wǎng)的迅猛發(fā)展,后臺服務(wù)在設(shè)計時不僅要考慮支持PC端還要考慮支持移動端?;谇昂蠖朔蛛x和Spring Security來實現(xiàn)的用戶登錄功能,可方便后續(xù)支持接入移動端的用戶登錄功能和隨著后臺業(yè)務(wù)拓展帶來的用戶授權(quán)功能。

      猜你喜歡
      程序開發(fā)開發(fā)人員后臺
      APP應(yīng)用程序開發(fā)模式探究
      電子制作(2019年19期)2019-11-23 08:42:02
      Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
      基于TestStand的自動檢測程序開發(fā)
      電子測試(2018年11期)2018-06-26 05:56:16
      后臺暗戀
      基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
      基于App inventor 2手機程序開發(fā)過程的學習與實——以“喵喵定時器”APP開發(fā)為例
      電子制作(2017年1期)2017-05-17 03:54:08
      前臺、后臺精彩花絮停不了
      風采童裝(2016年2期)2016-08-02 09:18:38
      讓Windows 10進入開發(fā)者模式
      電腦迷(2015年12期)2015-04-29 23:22:51
      后悔了?教你隱藏開發(fā)人員選項
      電腦愛好者(2015年6期)2015-04-03 01:20:56
      電力調(diào)度中后臺監(jiān)控系統(tǒng)的應(yīng)用
      河南科技(2014年11期)2014-02-27 14:10:03
      谷城县| 青海省| 霍城县| 金沙县| 清原| 布尔津县| 米林县| 卫辉市| 上林县| 台南市| 大同县| 大冶市| 墨玉县| 浦县| 龙岩市| 子长县| 正安县| 左权县| 恭城| 汕头市| 湖南省| 巩义市| 易门县| 徐水县| 嘉义市| 贡嘎县| 鄂伦春自治旗| 沧州市| 石河子市| 蕲春县| 楚雄市| 成安县| 双鸭山市| 那坡县| 香格里拉县| 炎陵县| 莱西市| 利津县| 常德市| 重庆市| 吉木乃县|