ตัวอย่างนี้แชร์รหัสเฉพาะสำหรับการเข้าสู่ระบบการตรวจสอบสปริงโบทสำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
เนื่องจากจำเป็นต้องมีรหัสการตรวจสอบในโครงการฉันจะสรุปวิธีการแก้ปัญหาข้อกำหนดของโครงการในโครงการ ~ การตรวจสอบอย่างรวดเร็ว ต่อไปนี้เป็นตัวอย่างที่แนะนำของรหัสการตรวจสอบเพื่อให้ทุกคนเริ่มต้นใช้งาน
1. คลาสเครื่องมือการตรวจสอบรหัส
นำเข้า java.awt.color; นำเข้า java.awt.font; นำเข้า java.awt.graphics; นำเข้า java.awt.image.bufferedimage; นำเข้า java.io.fileoutputstream; นำเข้า java.io.ioException; @author zct * @date 6 กุมภาพันธ์ 2018 * @param * @desc การสร้างรหัสการตรวจสอบกราฟิกกราฟิก * */คลาสสาธารณะ Verifyutil {// รหัสการตรวจสอบรหัสอักขระตั้งค่าตัวละครคงที่ส่วนตัว chars = {'0', '1', '2', '3', '4', '5' 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', '' '' '' '' ' 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'Q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}; // จำนวนอักขระส่วนตัวขนาดสุดท้ายคงที่ int = 4; // จำนวนของสายสัญญาณรบกวนส่วนตัวเส้นสุดท้าย int เส้นสุดท้าย = 5; // ความกว้างส่วนตัวคงที่ความกว้าง int สุดท้าย = 80; // ความสูงความสูงคงที่ความสูง int ความสูง = 40; // ตัวอักษรขนาดส่วนตัวคงสุดท้าย int font_size = 30; /*** สร้างรหัสการตรวจสอบแบบสุ่มและรูปภาพ* วัตถุ [0]: สตริงรหัสการตรวจสอบ; * Object [1]: รูปภาพรหัสการตรวจสอบ */ วัตถุคงที่สาธารณะ [] createImage () {StringBuffer sb = new StringBuffer (); // 1. สร้างภาพบัฟเฟอร์ภาพว่างเปล่า = bufferedImage ใหม่ (ความกว้าง, ความสูง, bufferedImage.type_int_rgb); // 2. รับกราฟิกกราฟิกแปรงภาพ = image.getGraphics (); // 3. ตั้งค่ากราฟิกสีแปรง SetColor (color.light_gray); // 4. วาดกราฟิกพื้นหลังสี่เหลี่ยมผืนผ้า fillrect (0, 0, ความกว้าง, ความสูง); // 5. วาดอักขระสุ่มสุ่ม run = new random (); สำหรับ (int i = 0; i <size; i ++) {// ใช้ดัชนีอักขระสุ่ม int n = ran.nextint (chars.length); // ตั้งค่ากราฟิกสีแบบสุ่ม SetColor (getRandomColor ()); // ตั้งค่าขนาดตัวอักษรกราฟิก SetFont (ฟอนต์ใหม่ (null, font.bold + font.italic, font_size)); // วาดตัวละคร Graphic.DrawString (Chars [n] + "", i * ความกว้าง/ ขนาด, ความสูง * 2/3); // บันทึกอักขระ sb.append (chars [n]); } // 6. วาดเส้นสัญญาณรบกวนสำหรับ (int i = 0; i <lines; i ++) {// ตั้งค่ากราฟิกสีแบบสุ่ม SetColor (getRandomColor ()); // กราฟิกสีแบบสุ่ม (ran.nextint (ความกว้าง), ran.nextint (ความสูง), ran.nextint (ความกว้าง), ran.nextint (ความสูง)); } // 7. ส่งคืนรหัสการตรวจสอบและรูปภาพส่งคืนวัตถุใหม่ [] {sb.toString (), image}; } / *** สีแบบสุ่ม* / สีสาธารณะคงที่ getRandomColor () {สุ่มวิ่ง = ใหม่สุ่ม (); สีสี = สีใหม่ (ran.nextint (256), ran.nextint (256), ran.nextint (256)); สีกลับ; -2. ใช้เลเยอร์คอนโทรลเลอร์
ตรวจสอบว่าชื่อผู้ใช้และรหัสผ่านสอดคล้องกับรหัสการยืนยัน
/*** ล็อกอินพอร์ทัล** @param ชื่อผู้ใช้ชื่อผู้ใช้* @param รหัสผ่านรหัสผ่าน* @param รหัสการตรวจสอบรหัส* @param การตอบสนองข้อมูลการเรียกกลับ JSON ส่งคืนได้สำเร็จ 200 และการส่งคืนที่ล้มเหลว 500*/@apioperation ("เข้าสู่ระบบ") @postmapping ("/login @apiparam ("รหัสผ่าน") @requestparam รหัสผ่านสตริง, @apiparam ("รหัสยืนยัน") @requestparam รหัสสตริง, การตอบกลับ httpservletResponse, คำขอ httpservletrequest) {httpsession session = request.getSession (); if (session.getAttribute ("imageCode") == null) {renderfail (การตอบสนอง, "รหัสการตรวจสอบรีเรท"); } else {if (session.getAttribute ("imageCode"). toString (). equalsignorecase (รหัส)) {แผนที่ <สตริง, วัตถุ> user = adminService.checkadminlogin (ชื่อผู้ใช้, รหัสผ่าน); if (user == null) {renderfail (การตอบสนอง, "เข้าสู่ระบบล้มเหลว"); } else {renderSuccess (การตอบสนอง, "เข้าสู่ระบบสำเร็จ"); }} else {renderFail (การตอบสนอง, "ข้อผิดพลาดรหัสการตรวจสอบ"); -ที่นี่รับคำขอจะใช้เพื่อรับรหัสการตรวจสอบ อินเทอร์เฟซเพื่อรับรหัสการตรวจสอบมีดังนี้
@apioperation ("สร้างรหัสการตรวจสอบ") @getMapping ("/getCode") โมฆะสาธารณะ getCode (httpservletResponse การตอบสนอง, คำขอ httpservletrequest) โยนข้อยกเว้น {httpsession session = request.getSession (); // ใช้เครื่องมือรูปภาพเพื่อสร้างภาพ // พารามิเตอร์แรกคือรหัสการตรวจสอบที่สร้างขึ้นและพารามิเตอร์ที่สองคือวัตถุรูปภาพที่สร้างขึ้น [] OBJS = VerifyUtil.CreateImage (); // จัดเก็บรหัสการยืนยันลงในเซสชันเซสชัน SetAttribute ("ImageCode", OBJS [0]); // เอาต์พุตภาพไปยังเบราว์เซอร์บัฟเฟอร์ภาพ = (bufferedImage) objs [1]; Response.SetContentType ("Image/PNG"); OutputStream OS = Response.GetOutputStream (); Imageio.write (รูปภาพ, "png", OS); -3. การทดสอบรหัส
นี่คือการทดสอบโดยใช้ Springboot Swagger2
ข้างต้นคือคำขอ GET เพื่อรับรหัสการตรวจสอบต่อไปนี้คือการตรวจสอบการเข้าสู่ระบบผลการตรวจสอบจะสำเร็จ
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น