Este exemplo compartilha o código específico do login do código de verificação do Springboot para sua referência. O conteúdo específico é o seguinte
Como os códigos de verificação são necessários no projeto, resumirei como resolver rapidamente os requisitos do projeto no código de verificação do projeto. A seguir, é apresentado um exemplo recomendado de códigos de verificação para que todos possam começar.
1. Escreva ferramentas de código de verificação
importar java.awt.color; importar java.awt.font; importar java.awt.graphics; importar java.awt.image.bufferedimage; importar java.io.fileoutputStream; import java.uta.io.ioException; importação java.io.outImTream; importação; @author zct * @date February 6, 2018* @param * @desc Graphic verification code generation* */public class VerifyUtil { // Verification code character set private static final char[] chars = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}; // Número de caracteres de caracteres estática privada Int Tamanho = 4; // número de linhas de interferência private estático final int linhas = 5; // largura privada estática final int width = 80; // altura privada estática final int altura = 40; // Tamanho da fonte private estática final int font_size = 30; /*** Gere código de verificação aleatória e imagem* Objeto [0]: Código de verificação string; * Objeto [1]: imagem do código de verificação. */ public static objeto [] createImage () {stringBuffer sb = new StringBuffer (); // 1. Crie uma imagem em branco bufferImage imagem = new bufferiMage (largura, altura, bufferImage.type_int_rgb); // 2. Obtenha a imagem gráfica gráfica = image.getgraphics (); // 3. Defina os gráficos de cores do pincel.SetColor (color.light_gray); // 4. Desenhe os gráficos de fundo do retângulo.FillRect (0, 0, largura, altura); // 5. Desenhe caracteres aleatórios aleatórios RAN = novo aleatório (); for (int i = 0; i <tamanho; i ++) {// pegue o índice de caracteres aleatório int n = ran.nextint (chars.length); // Defina o Random Color Graphic.SetColor (getRandomColor ()); // Defina o tamanho da fonte Graphic.setFont (nova fonte (NULL, FONT.BOLD + FONT.ITALIC, FONT_SIZE)); // desenha o caractere gráfico.drawString (chars [n] + "", i * largura/ tamanho, altura * 2/3); // registra caracteres sb.append (chars [n]); } // 6. Desenhe a linha de interferência para (int i = 0; i <linhas; i ++) {// Definir Random Color Graphic.SetColor (getRandomColor ()); // Random Color Graphic.Drawline (ran.nextint (largura), ran.nextint (altura), ran.nextint (largura), ran.nextint (altura)); } // 7. Código de verificação de retorno e imagem retorna novo objeto [] {sb.toString (), imagem}; } / *** cor aleatória* / public static color getrandomcolor () {random ran = new Random (); Cor cor = nova cor (ran.nextint (256), ran.nextint (256), ran.nextint (256)); cor de retorno; }}2. Use a camada do controlador
Verifique se o nome de usuário e a senha são consistentes com o código de verificação
/*** Portal de login** @param nome de usuário nome de usuário* @param senha senha* @param Código Código de verificação* @Param Resposta O chamado JSON Data retorna com sucesso 200, e o retorno falhado 500*/@apioperation ("Login") @Postmapping ("/login") public void adminLoginLogin) @Apiparam ("senha") @requestparam string senha, @apiparam ("código de verificação") @requestparam string código, httpServletResponse Resposta, httpServletRequest solicitação) {httpssession Session = request.getSession (); if (session.getAttribute ("imageCode") == null) {renderfail (resposta, "código de verificação da Reget"); } else {if (session.getAttribute ("imageCode"). tostring (). Equalsignorecase (code)) {map <string, object> user = Adminservice.CheckadMinLogin (nome de usuário, senha); if (usuário == null) {renderfail (resposta, "login falhou"); } else {rendersuccess (resposta, "login foi bem -sucedido"); }} else {renderfail (resposta, "erro de código de verificação"); }}}Aqui, a solicitação GET é usada para obter o código de verificação. A interface para obter o código de verificação é a seguinte
@Apioperation ("Gereate Código de verificação") @getMapping ("/getCode") public void getCode (resposta httpServletResponse, httpServletRequest Request) lança exceção {httpsession session = request.getSession (); // Use ferramentas de imagem para gerar imagens // O primeiro parâmetro é o código de verificação gerado, e o segundo parâmetro é o objeto de imagem gerado [] objs = verifyutil.createImage (); // armazenar código de verificação em sessão session.setAttribute ("imageCode", objs [0]); // emitir a imagem para o navegador bufferImage imagem = (bufferImage) objs [1]; Response.setContentType ("Image/png"); OutputStream OS = Response.getOutputStream (); Imageio.write (imagem, "png", os); }3. Teste de código
Aqui está um teste usando o Springboot Swagger2
O exposto acima é a solicitação de obter para obter o código de verificação, a seguir é a verificação de login, o resultado da verificação é bem -sucedido.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.