基于腳手架如何搞定 SpringBoot 后端管理項(xiàng)目,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)建站專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、善右網(wǎng)絡(luò)推廣、成都小程序開(kāi)發(fā)、善右網(wǎng)絡(luò)營(yíng)銷(xiāo)、善右企業(yè)策劃、善右品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪(fǎng)、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供善右建站搭建服務(wù),24小時(shí)服務(wù)熱線(xiàn):028-86922220,官方網(wǎng)址:jinyejixie.com
前幾天,有不少人問(wèn)我,有沒(méi)有基于 SpringBoot 的腳手架項(xiàng)目。今天我就推薦一個(gè)基本的框架腳手架,特別是學(xué)會(huì)使用 jwt + shiro 的權(quán)限組合!其實(shí)有了 SpringBoot 后,項(xiàng)目搭建的難度一降再降,可還是有人想偷懶,就怕你幾年后會(huì)后悔!
前后端分離已經(jīng)成為互聯(lián)網(wǎng)項(xiàng)目開(kāi)發(fā)標(biāo)準(zhǔn),它會(huì)為以后的大型分布式架構(gòu)打下基礎(chǔ)。SpringBoot 使編碼配置部署都變得簡(jiǎn)單,越來(lái)越多的互聯(lián)網(wǎng)公司已經(jīng)選擇 SpringBoot 作為微服務(wù)的入門(mén)級(jí)微框架。
Mybatis-Plus 是一個(gè) Mybatis 的增強(qiáng)工具,有代碼生成器,并且提供了類(lèi)似 hibernate 的單表 CRUD 操作,又保留了 mybatis 的特性支持定制化 SQL。
Apache Shiro 是一款強(qiáng)大易用的 Java 安全框架,Java 官方推薦使用 Shiro,它比 Spring Security 更簡(jiǎn)單易用,Spring 自己的系列 Spring side4 也把權(quán)限擴(kuò)建換成 Shiro 了。
現(xiàn)在 API 越來(lái)越流行,如何安全保護(hù)這些 API?JSON Web Tokens(JWT) 能提供基于 JSON 格式的安全認(rèn)證。JWT 可以跨不同語(yǔ)言,自帶身份信息,并且非常容易傳遞。
自定義 @Log 注解自動(dòng)記錄日志到數(shù)據(jù)庫(kù)。
自定義 @Pass 注解接口不用進(jìn)行認(rèn)證身份。
使用 JSONObject 統(tǒng)一獲取 body 請(qǐng)求參數(shù),減少實(shí)體類(lèi)的數(shù)量。完成自定義 @ValidationParam 注解驗(yàn)證請(qǐng)求參數(shù)是否為空。
使用 bcrypt 算法加密密碼,著名代碼托管網(wǎng)站 Github 和美國(guó)軍方防火墻同樣采用此算法,靠 bcrypt 算法會(huì)成功保住密碼強(qiáng)度不算很高的大部分賬戶(hù)。
搭配 Shiro 注解配置權(quán)限,高度靈活,提供按鈕級(jí)別的權(quán)限控制,后端接口只驗(yàn)證權(quán)限,不看角色。用自定義 @CurrentUser 注解獲取當(dāng)前登錄用戶(hù),Controlle 層統(tǒng)一異常處理:
用 SpringAOP 切面編程進(jìn)行聲明式事務(wù),過(guò)濾請(qǐng)求參數(shù),防止 XSS 攻擊。
使用 POST 請(qǐng)求登錄返回 token 和權(quán)限信息 (service 層增刪改方法命名規(guī)范會(huì)自動(dòng)加上事物),保證請(qǐng)求無(wú)狀態(tài),返回實(shí)體如果屬性為空不顯示。
填寫(xiě)用戶(hù)名密碼用 POST 請(qǐng)求訪(fǎng)問(wèn) / login 接口,返回 token 令牌等信息,失敗則直接跳轉(zhuǎn) 401 錯(cuò)誤頁(yè)面。
在之后需要驗(yàn)證身份的請(qǐng)求的 Headers 中添加 Authorization 和登錄時(shí)返回的 token 令牌。
服務(wù)端進(jìn)行 token 認(rèn)證,失敗跳轉(zhuǎn) 401 頁(yè)面。
用 JWT 做認(rèn)證(登錄),Shiro 做授權(quán)。
項(xiàng)目結(jié)構(gòu):
通過(guò) git 下載源碼,本項(xiàng)目基于 JDK1.8
采用 Maven 項(xiàng)目管理,模塊化,導(dǎo)入 IDE 時(shí)直接選定 liugh-parent 的 pom 導(dǎo)入
創(chuàng)建數(shù)據(jù)庫(kù) liugh,數(shù)據(jù)庫(kù)編碼為 UTF-8,執(zhí)行 liugh.sql 文件,初始化數(shù)據(jù)
修改 application-dev.properties,更新 MySQL 賬號(hào)和密碼
Eclipse、IDEA 運(yùn)行 SpringbootApplication.java,則可啟動(dòng)項(xiàng)目?;蛟?liugh-parent 目錄下運(yùn)行命令 mvn clean package,然后在 liugh-web/target 目錄下運(yùn)行 java -jar liugh-web.jar 命令
啟動(dòng)一個(gè) redis 服務(wù)
訪(fǎng)問(wèn)登錄接口:localhost:8081/api/login
賬號(hào)密碼:13888888888/123456
獲取 token 訪(fǎng)問(wèn)其他接口
注意!!!!! 訪(fǎng)問(wèn)的接口 url 統(tǒng)一會(huì)加上 / api/v1; 編譯器請(qǐng)安裝 lombok 插件, 不然會(huì)報(bào)紅
運(yùn)行截圖:
這個(gè)項(xiàng)目注釋完整,并且自定義了啟動(dòng)圖案~
關(guān)于基于腳手架如何搞定 SpringBoot 后端管理項(xiàng)目問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
網(wǎng)頁(yè)標(biāo)題:基于腳手架如何搞定SpringBoot后端管理項(xiàng)目
文章網(wǎng)址:http://jinyejixie.com/article32/peoisc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、定制網(wǎng)站、網(wǎng)站收錄、網(wǎng)站排名、定制開(kāi)發(fā)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)