이 예제는 참조에 대한 SpringBoot Verification Code 로그인의 특정 코드를 공유합니다. 특정 내용은 다음과 같습니다
프로젝트에서 확인 코드가 필요하기 때문에 프로젝트 ~ 확인 코드에서 프로젝트 요구 사항을 빠르게 해결하는 방법을 요약합니다. 다음은 모든 사람이 시작할 수있는 검증 코드의 권장 예입니다.
1. 검증 코드 도구를 쓰십시오
import java.awt.color; import java.awt.font; import java.awt.graphics; import java.awt.image.bufferedimage; import java.io.fileoutputstream; import java.io.ioexception; import java.io.outputstream; import java.random; * @Author zct * @date 2018 년 2 월 6 일 * @param * @desc 그래픽 검증 코드 생성 * */public class verifyUtil {// verification code set private static final char [] chars = { '0', '1', '2', '4', '5', '6', '7', '8', ',', ',', ',', ',', ',', ',', ',', ',' ','8 ' 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'a', 'b', 'c', 'e', '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] : 검증 코드 사진. */ public static 객체 [] createImage () {StringBuffer sb = new StringBuffer (); // 1. 빈 이미지 생성 BufferedImage Image = New BufferedImage (너비, 높이, BufferedImage.type_int_rgb); // 2. 이미지 브러시 그래픽 그래픽 = image.getGraphics (); // 3. 브러시 색상 그래픽을 설정합니다. // 4. 사각형 배경 그래픽을 그립니다 .FillRect (0, 0, 너비, 높이); // 5. 랜덤 문자 그리기 임의 ran = new random (); for (int i = 0; i <size; i ++) {// 랜덤 문자 색인 int n = ran.nextInt (chars.length); // 랜덤 색상 그래픽을 설정합니다. // 글꼴 크기 그래픽을 설정합니다. // 문자 그래픽을 그립니다. drawString (chars [n] + "", i * 너비/ 크기, 높이 * 2/ 3); // 레코드 문자 sb.append (chars [n]); } // 6. (int i = 0; i <lines; i ++)의 간섭 줄을 그립니다. {// 랜덤 색상 그래픽을 설정합니다. // Random Color Graphic.Drawline (Ran.NextInt (width), Ran.NextInt (높이), Ran.NextInt (width), Ran.NextInt (높이)); } // 7. 반환 검증 코드 및 이미지 리턴 새 개체 [] {sb.toString (), image}; } / *** 임의의 색상* / public static color getRandomColor () {random ran = new random (); 색상 = 새 색상 (Ran.NextInt (256), Ran.NextInt (256), Ran.NextInt (256)); 반환 색상; }}2. 컨트롤러 계층을 사용하십시오
사용자 이름과 암호가 확인 코드와 일치하는지 확인하십시오.
/*** 로그인 포털** @Param 사용자 이름 사용자 이름* @param password password* @param 코드 확인 코드* @param 응답 콜백 JSON 데이터는 200을 성공적으로 반환하고 실패한 반환 500*/@apioperation ( "로그인") @postmapping ( "/login") public void anminloginbypasswword (@apiparam ( "userername") @apiparam ( "password") @RequestParam 문자열 암호, @apiparam ( "검증 코드") @RequestParam 문자열 코드, httpservletResponse 응답, httpservletrequest 요청) {httpsession session = requestsession (); if (session.getAttribute ( "imageCode") == null) {renderFail (응답, "reget verification code"); } else {if (session.getAttribute ( "imageCode"). TOSTRING (). equalSignoreCase (code)) {map <string, object> user = indeR = adminservice.checkadminlogin (username, password); if (user == null) {renderfail (응답, "로그인 실패"); } else {rendersuccess (응답, "로그인 성공"); }} else {renderfail (응답, "검증 코드 오류"); }}}여기서 GET 요청은 확인 코드를 얻는 데 사용됩니다. 확인 코드를 얻는 인터페이스는 다음과 같습니다.
@apioperation ( "Verification Code 생성") @GetMapping ( "/getCode") public void getCode (httpservletResponse 응답, httpservletrequest 요청) 예외 {httpsession session = request.getSession (); // 이미지 도구를 사용하여 이미지를 생성하십시오 // 첫 번째 매개 변수는 생성 된 확인 코드이고 두 번째 매개 변수는 생성 된 이미지 객체 [] objs = verifyUtil.createImage (); // 검증 코드를 세션 세션에 저장합니다 .SetAttribute ( "imageCode", OBJS [0]); // 이미지를 브라우저에 출력 BufferedImage image = (bufferedImage) objs [1]; Response.setContentType ( "image/png"); outputStream os = response.getOutputStream (); imageio.write (image, "png", os); }3. 코드 테스트
다음은 SpringBoot Swagger2를 사용한 테스트입니다
위는 확인 코드를 얻기위한 GET 요청입니다. 다음은 로그인 검증이며 확인 결과가 성공합니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.