package com.pollex.pam.web.rest;
|
|
import java.awt.image.BufferedImage;
|
import java.io.ByteArrayOutputStream;
|
import java.io.IOException;
|
|
import javax.imageio.ImageIO;
|
import javax.servlet.ServletOutputStream;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpSession;
|
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import com.pollex.pam.business.service.util.VerifyCodeUtil;
|
|
@RestController
|
@RequestMapping("/api/login/validate")
|
public class ConsultantLoginValidateResource {
|
|
@GetMapping("/get_img_code")
|
public void getVerifyCodeImg(HttpServletResponse response, HttpServletRequest request) {
|
try {
|
String code = VerifyCodeUtil.createcode();
|
BufferedImage image = VerifyCodeUtil.createimage(code);
|
// Return to the client in a stream
|
response.setContentType("image/jpeg");
|
// response.setContentType("image/bmp");
|
ByteArrayOutputStream bt = new ByteArrayOutputStream();
|
// Convert pictures to byte stream
|
ImageIO.write(image, "jpeg", bt);
|
ServletOutputStream outputStream = response.getOutputStream();
|
outputStream.write(bt.toByteArray());
|
HttpSession session = request.getSession();
|
session.setAttribute("img_code", code);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
}
|
|
@GetMapping("/verify_img_code/{imgCode}")
|
public boolean verifyImgCode(HttpServletResponse response, HttpServletRequest request,
|
@PathVariable String imgCode) {
|
HttpSession session = request.getSession();
|
String sessionImpCode = (String) session.getAttribute("img_code");
|
if (!StringUtils.hasText(sessionImpCode)
|
|| !StringUtils.hasText(imgCode)) {
|
return false;
|
}
|
|
if (imgCode.equals(sessionImpCode)) {
|
return true;
|
}
|
|
return false;
|
}
|
}
|