Contoh ini membagikan kode spesifik untuk login kode verifikasi springboot untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Karena kode verifikasi diperlukan dalam proyek, saya akan merangkum cara menyelesaikan persyaratan proyek dengan cepat dalam kode verifikasi proyek. Berikut ini adalah contoh yang disarankan dari kode verifikasi bagi semua orang untuk memulai.
1. Tulis kelas alat kode verifikasi
impor java.awt.color; impor java.awt.font; impor java.awt.graphics; impor java.awt.image.bufferedImage; impor java.io.fileoutputStream; impor Java.io.ioexception; impor java.io.outputstream; impor Java.oAmage; * @Author zct * @Date 6 Februari 2018 * @param * @desc Kode Verifikasi Grafis * */Kelas Publik Verififyutil {// Kode Verifikasi Karakter Private Static Final Char [] Chars = {'0', '1', '2', '3', '4', '5', '6', '', ',', ',', ',' ',' ',' ',' ',' ',' ',' ',' ', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', ',', 'H', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}; // Jumlah karakter ukuran int statis privat statis = 4; // Jumlah garis interferensi Private static final int line = 5; // Lebar private static final int width = 80; // tinggi private static final int height = 40; // font ukuran private static final int font_size = 30; /*** menghasilkan kode dan gambar verifikasi acak* objek [0]: string kode verifikasi; * Objek [1]: Gambar kode verifikasi. */ objek statis public [] createMage () {StringBuffer SB = New StringBuffer (); // 1. Buat gambar bufferedimage kosong = BufferedImage baru (lebar, tinggi, bufferedImage.type_int_rgb); // 2. Dapatkan grafik grafik sikat gambar = gambar.getGraphics (); // 3. Atur grafis warna sikat.setColor (color.light_gray); // 4. Gambar grafik latar belakang persegi panjang.fillrect (0, 0, lebar, tinggi); // 5. Gambar karakter acak acak ran = new random (); untuk (int i = 0; i <size; i ++) {// Ambil indeks karakter acak int n = ran.nextint (chars.length); // atur grafis warna acak.setColor (getRandomColor ()); // Atur font ukuran grafis.setFont (font baru (null, font.bold + font.italic, font_size)); // Gambar karakter grafis.drawstring (chars [n] + "", i * lebar/ ukuran, tinggi * 2/3); // Rekam Karakter SB.Append (Chars [n]); } // 6. Gambarkan garis interferensi untuk (int i = 0; i <line; i ++) {// atur random color graphic.setColor (getRandomColor ()); // grafis warna acak.drawline (ran.nextint (lebar), ran.nextint (tinggi), ran.nextint (lebar), ran.nextint (tinggi)); } // 7. Kembali Kode Verifikasi dan Gambar Pengembalian Objek Baru [] {SB.ToString (), Image}; } / *** warna acak* / warna statis publik getRandomColor () {acak ran = acak baru (); Warna warna = warna baru (ran.nextint (256), ran.nextint (256), ran.nextint (256)); Warna pengembalian; }}2. Gunakan lapisan pengontrol
Verifikasi bahwa nama pengguna dan kata sandi konsisten dengan kode verifikasi
/** * Login portal* * @param username Username* @param password Password* @param code Verification code* @param response The callback json data successfully returns 200, and the failed return 500 */ @ApiOperation("Login") @PostMapping("/login") public void adminLoginByPasswword(@ApiParam("Username") @RequestParam String username, @APIPARAM ("Kata Sandi") @RequestParam String Password, @Apiparam ("Kode Verifikasi") @RequestParam Kode String, Respons HttpServletResponse, permintaan httpservletRequest) {httpsession session = request.getSession (); if (session.getAttribute ("ImageCode") == null) {renderfail (respons, "kode verifikasi reget"); } else {if (session.getAttribute ("ImageCode"). ToString (). EqualSignorecase (kode)) {MAP <String, Object> User = AdmInservice.CheckAdMinLogin (nama pengguna, kata sandi); if (user == null) {renderfail (respons, "login gagal"); } else {renderSuccess (respons, "login berhasil"); }} else {renderfail (respons, "kesalahan kode verifikasi"); }}}Di sini, dapatkan permintaan digunakan untuk mendapatkan kode verifikasi. Antarmuka untuk mendapatkan kode verifikasi adalah sebagai berikut
@ApiOperation ("Hasilkan kode verifikasi") @getMapping ("/getCode") public void getCode (respons httpservletResponse, permintaan httpservletRequest) melempar pengecualian {httpsession = request.getSession (); // Gunakan alat gambar untuk menghasilkan gambar // parameter pertama adalah kode verifikasi yang dihasilkan, dan parameter kedua adalah objek gambar yang dihasilkan [] objs = verifyutil.createImage (); // menyimpan kode verifikasi ke sesi sesi.setAttribute ("ImageCode", OBJS [0]); // output gambar ke browser bufferedImage Image = (bufferedImage) OBJS [1]; response.setContentType ("Image/png"); OutputStream os = response.getoutputStream (); Imageo.write (Image, "Png", OS); }3. Pengujian Kode
Berikut tes menggunakan Springboot Swagger2
Di atas adalah permintaan GET untuk mendapatkan kode verifikasi, berikut ini adalah verifikasi login, hasil verifikasi berhasil.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.