登錄驗證碼實現

    • Hutool
    • 代碼改造

Hutool

有參考文檔;很多工具類;把一些功能都封裝好;都不用你自己去寫;直接調用它的工具類
它這里會詳細告訴你引入方式Hutool
在這里插入圖片描述

  <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.19</version></dependency>

在這里插入圖片描述
實現1:我們不保存在本地;輸出字節流給前端;然后在前端顯示出來
實現2:保存在static的img里;然后url寫在前端的這個部分的圖片里;這個圖形驗證碼就有了(但是這里會有個問題;如果是部署云服務器;那我們jar包;沒法把文件保存在這里;我們就寫系統的目錄用來保存)

代碼改造

我們可以使用另一種方式;把驗證碼存在Session;然后我們就可以通過用戶Session取這個驗證碼
注意:攔截器要注意放行
前端:
在這里插入圖片描述

后端:
封裝的類;返回一個圖片文件名;還有驗證碼的內容;
在這里插入圖片描述
配置圖片儲存路徑:(之所以不寫在static;是因為如果我們要打包成jar發布到云服務器;那就沒法在jar包里寫入文件)
在這里插入圖片描述
注意:一定不能遺漏在application.properties引用一下spring.profiles.active=dev

攔截器開放:
后端的接口;以"/image/“開頭的路徑,攔截器將不會對其進行處理
.excludePathPatterns(”/user/getcode")
.excludePathPatterns(“/image/**”);

進行一個映射配置;當訪問"/image/**“;就會映射到imagePath;就是我們配置到那個路徑。addResourceHandlers方法是在WebMvcConfigurerAdapter或WebMvcConfigurer口中的一個方法,用于配置靜態資源的處理。file:“前綴表示這是一個本地文件系統路徑。+ imagePath表示要處理的靜態資源存儲路徑。
在這里插入圖片描述
要使用imagepath注入一下
@Value(”${imgpath}”)
private String imagePath;

驗證碼判斷:
首先我們在前端獲取驗證碼;然后將內容發給后端;后端我們從Session取到驗證碼對比一些即可知道真偽(能提高點安全程度;暴力破解的成本就提高了)

這個判斷邏輯放最前面去也是沒有問題的;因為我們在儲存這個驗證碼的時候;如果登錄請求這里還沒創建Session;我們就會在那里創建Session;如果有就選中
在這里插入圖片描述

在這里插入圖片描述
效果:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35526.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35526.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35526.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STM32F429IGT6使用CubeMX配置SPI通信(W25Q256芯片)

1、硬件電路 需要系統性的看一下W25Q256芯片手冊 2、設置RCC&#xff0c;選擇高速外部時鐘HSE,時鐘設置為180MHz 3、配置SPI 4、生成工程配置 5、相關代碼 #define sFLASH_ID 0XEF4019 // W25Q256#define SPI_FLASH_PageSize 256 #define SPI_FLASH_PerWritePageSize 256#def…

《雷達像智能識別對抗研究進展》閱讀記錄

&#xff08;1&#xff09;引言 ? 神經網絡通常存在魯棒性缺陷&#xff0c;易受到對抗攻擊的威脅。攻擊者可以隱蔽的誘導雷達智能目標識別做出錯誤預測&#xff0c;如&#xff1a; ? a圖是自行車&#xff0c;加上對抗擾動后神經網絡就會將其識別為挖掘機。 &#xff08;2&a…

【Quarkus技術系列】打造基于Quarkus的云原生微服務框架實踐(1)

前提介紹 本系列文章主要講解如何基于Quarkus技術搭建和開發"專為Kubernetes而優化的Java微服務框架"的入門和實踐&#xff0c;你將會學習到如何搭建Quarkus微服務腳環境及腳手架&#xff0c;開發Quarkus的端點服務&#xff0c;系統和應用層級的配置介紹與Quarkus的…

單芯片3路CC管理的VR轉接器解決方案

VR眼鏡即VR頭顯&#xff0c;也稱虛擬現實頭戴式顯示設備&#xff0c;隨著元宇宙概念的傳播&#xff0c;VR眼鏡的熱度一直只增不減&#xff0c;但是頭戴設備的續航一直被人詬病&#xff0c;如果增大電池就會讓頭顯變得笨重影響體驗&#xff0c;所以目前最佳的解決方案還是使用VR…

C# BeginInvoke 加 EndInvoke實現異步操作

1、定義一個委托 delegate long MyDel(int first, int second); 2、 需異步操作的函數 static int sum(int x,int y) {Console.WriteLine("InSide Sum1");Thread.Sleep(1000);Console.WriteLine("InSide Sum2");return x y;} 3、回調方法…

[HDLBits] Exams/m2014 q3

Consider the function f shown in the Karnaugh map below. Implement this function. d is dont-care, which means you may choose to output whatever value is convenient. //empty

gitui 解決 git error:Bad credentials.

問題描述 cat .git/config """ [remote "origin"]url gitgitcode.net:xxx.gitfetch refs/heads/*:refs/remotes/origin/* """ls -lh ~/.ssh/ """ -rw------- 1 z z 2.6K 8月 12 15:04 id_rsa -rw-r--r-- 1 z z 56…

學習左耳聽風欄目90天——第六天 6/90(學習左耳朵耗子的工匠精神,對技術的熱愛)【如何擁有技術領導力】

學習左耳聽風欄目90天——第六天 6/90&#xff08;學習左耳朵耗子的工匠精神&#xff0c;對技術的熱愛&#xff09;【如何擁有技術領導力】

【第358場周賽】限制條件下元素之間的最小絕對差,Java解密。

LeetCode 第358場周賽 恒生專場。 文章目錄 劍指Offer:限制條件下元素之間的最小絕對差示例:限制:解題思路:劍指Offer:限制條件下元素之間的最小絕對差 【題目描述】 給你一個下標從 0 開始的整數數組 nums 和一個整數 x 。 請你找到數組中下標距離至少為 x 的兩個元素的…

虛擬機內搭建CTFd平臺搭建及CTF題庫部署,局域網內機器可以訪問

一、虛擬機環境搭建 1、安裝docker、git、docker-compose ubuntu&#xff1a; sudo apt-get update #更新系統 sudo apt-get -y install docker.io #安裝docker sudo apt-get -y install git #安裝git sudo apt-get -y install python3-pip #安裝pip3 sudo pip install dock…

SQL筆記

最近的工作對SQL的應用程度較高&#xff0c;而且寫的sql類型基本沒怎么涉及過&#xff0c;把用到的幾個關鍵字記錄下。 使用環境&#xff1a;達夢數據庫 達夢數據庫有個特點&#xff0c;他有一個叫模式的說法&#xff0c;在圖形化工具里直接點擊創建查詢窗口&#xff0c;不用像…

Kubeadm安裝K8s集群

一、硬件環境 準備3臺Linux服務器&#xff0c;此處用Vmware虛擬機。 主機名CPU內存k8smaster2核4Gk8snode12核4Gk8snode22核4G 二、系統前置準備 配置三臺主機的hosts文件 cat << EOF > /etc/hosts 192.168.240.130 k8smaster 192.168.240.132 k8snode1 192.168.…

Sql奇技淫巧之ROWNUM偽列

ROWNUM偽列 ROWNUM是一個偽列&#xff0c;它是根據每次查詢的結果動態生成的一列遞增編號&#xff0c;表示 Oracle 從表中選擇該行的順序&#xff0c;選擇的第一行ROWNUM為1&#xff0c;第二行ROWNUM為2&#xff0c;以此類推。 注意1&#xff1a; ROWNUM偽列是在WHERE子句之…

torch.profiler

什么是torch.profiler PyTorch Profiler 是一個工具&#xff0c;它允許在訓練和推理期間收集性能指標。Profiler 的上下文管理器 API 可用于更好地了解哪些模型操作最昂貴&#xff0c;檢查它們的輸入形狀和調用堆棧&#xff0c;研究設備內核活動并可視化執行跟蹤。 性能指標&…

騰訊出品Pag動畫框架在Android端的使用-初級

Pag動畫框架作為一個第三方框架&#xff0c;它的優缺點與Lottie是相似&#xff0c;此處不過多贅述。如果你們的項目中打算用了&#xff0c;肯定是經過了一定的調研的。Pag動畫框架分幾個版本&#xff0c;有免費的有收費的。我們目前用的社區免費版&#xff0c;只用來展示Pag動畫…

項目實戰 — 消息隊列(8){網絡通信設計②}

目錄 一、客戶端設計 &#x1f345; 1、設計三個核心類 &#x1f345; 2、完善Connection類 &#x1f384; 讀取請求和響應、創建channel &#x1f384; 添加掃描線程 &#x1f384; 處理不同的響應 &#x1f384; 關閉連接 &#x1f345; 3、完善Channel類 &#x1f384; 編…

廣州華銳互動:VR3D課程在線教育平臺為職業院校提供沉浸式的虛擬現實學習體驗

隨著科技的飛速發展&#xff0c;虛擬現實(VR)和增強現實(AR)技術已經逐漸滲透到我們生活的各個領域。其中&#xff0c;VR3D課程在線教育平臺作為一種新興的教育方式&#xff0c;正在逐漸改變我們的學習方式和體驗。本文將詳細介紹VR3D課程在線教育平臺的應用前景及特點。 VR3D課…

VFP現代物流企業管理系統的設計與實現

摘要: 隨著計算機技術的廣泛應用,在現代流通企業管理中引入計算機管理技術,成為一個值得深入研究的問題。 本文首先概要的論述了數據庫的有關知識與現狀。之后,對當代計算機數據庫技術的現狀,尤其是對關系型數據庫作了系統的描述。在此基礎上,論文重點對數據庫的開發環境 …

【設計模式】工廠模式

工廠模式 工廠模式&#xff08;Factory Pattern&#xff09;是 Java 中最常用的設計模式之一。這種類型的設計模式屬于創建型模式&#xff0c;它提供了一種創建對象的最佳方式。 工廠模式提供了一種將對象的實例化過程封裝在工廠類中的方式。通過使用工廠模式&#xff0c;可以…

Mysql整理二 - 常見查詢語句面試題(附原表)

表結構&#xff0c;創建原表的代碼在最后 -- cid課程id; tid老師id; sid學生id; select * from t_mysql_course; select * from t_mysql_score; select * from t_mysql_student; select * from t_mysql_teacher; 1. 查詢" 01 “課程比” 02 "課程成績高的學生的信息…