|
|
@@ -7,11 +7,15 @@ import com.jzg.config.JzgUserDetailsService;
|
|
|
import com.jzg.config.JzgUsernamePasswordAuthenticationToken;
|
|
|
import com.jzg.config.RedissonConfig;
|
|
|
import com.jzg.constants.RedisKeyConstants;
|
|
|
+import com.jzg.core.base.BaseController;
|
|
|
+import com.jzg.core.page.HttpResult;
|
|
|
import com.jzg.entity.SysUser;
|
|
|
import com.jzg.entity.vo.LoginFormVo;
|
|
|
+import com.jzg.entity.vo.ModifyPassWordFormVo;
|
|
|
import com.jzg.exception.SystemException;
|
|
|
import com.jzg.handler.JzgAuthenticationSuccessHandler;
|
|
|
import com.jzg.service.SysUserService;
|
|
|
+import com.jzg.utils.ImageUtil;
|
|
|
import com.wf.captcha.SpecCaptcha;
|
|
|
import com.wf.captcha.base.Captcha;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
@@ -45,7 +49,7 @@ import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
@RestController
|
|
|
@RequestMapping("/auth")
|
|
|
-public class AuthController {
|
|
|
+public class AuthController extends BaseController {
|
|
|
|
|
|
@Autowired
|
|
|
AuthenticationManager authenticationManager;
|
|
|
@@ -61,7 +65,6 @@ public class AuthController {
|
|
|
|
|
|
@Autowired
|
|
|
RedissonClient redissonClient;
|
|
|
- private final Logger logger = LoggerFactory.getLogger(AuthController.class);
|
|
|
/**
|
|
|
* 登录接口
|
|
|
* @param loginFormVo
|
|
|
@@ -109,52 +112,22 @@ public class AuthController {
|
|
|
text = captcha.text();
|
|
|
}
|
|
|
// 生成图片验证码
|
|
|
- BufferedImage image = base64ToBufferedImage(captcha.toBase64());
|
|
|
+ BufferedImage image = ImageUtil.base64ToBufferedImage(captcha.toBase64());
|
|
|
if (StringUtils.isEmpty(captchaId)) {
|
|
|
throw new SystemException("captchaId 必传");
|
|
|
}
|
|
|
|
|
|
// 保存到验证码到 redis
|
|
|
- redissonClient.getBucket(captchaId).set(RedisKeyConstants.VERIFICATION_CODE + text, 120, TimeUnit.SECONDS);
|
|
|
+ redissonClient.getBucket(RedisKeyConstants.VERIFICATION_CODE + captchaId).set(text, 120, TimeUnit.SECONDS);
|
|
|
ServletOutputStream out = response.getOutputStream();
|
|
|
ImageIO.write(image, "jpg", out);
|
|
|
IOUtils.closeQuietly(out);
|
|
|
}
|
|
|
|
|
|
- public static BufferedImage base64ToBufferedImage(String base64String) {
|
|
|
- try {
|
|
|
- // 去除 Base64 编码字符串中的数据前缀,如 "data:image/png;base64,"
|
|
|
- String base64Image = base64String.split(",")[1];
|
|
|
- // 解码 Base64 字符串为字节数组
|
|
|
- byte[] imageBytes = Base64.getDecoder().decode(base64Image);
|
|
|
- // 将字节数组转换为 ByteArrayInputStream
|
|
|
- ByteArrayInputStream bis = new ByteArrayInputStream(imageBytes);
|
|
|
- // 使用 ImageIO 读取输入流并创建 BufferedImage
|
|
|
- BufferedImage image = ImageIO.read(bis);
|
|
|
- return image;
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- return null;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取token数据
|
|
|
- * @param token
|
|
|
- * @return
|
|
|
- */
|
|
|
- @PremissionCheck(value = "authGetToken")
|
|
|
- @GetMapping("/getToken")
|
|
|
- public String getToken(String token){
|
|
|
- String token1 = tokenStore.getToken(token);
|
|
|
- return token1;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @GetMapping(value = "getUser")
|
|
|
- public String getUser() {
|
|
|
- SysUser admin = sysUserService.getById("admin");
|
|
|
- return admin.getId().toString();
|
|
|
+ @PostMapping("modifyPass")
|
|
|
+ @Operation(summary = "修改密码")
|
|
|
+ public HttpResult modifyPass(@RequestBody ModifyPassWordFormVo modifyPassWordFormVo){
|
|
|
+ String userName = getUserName();
|
|
|
+ return HttpResult.ok("");
|
|
|
}
|
|
|
}
|