feat: C2 Redis 接入 + 接口限流(RedisService + @RateLimit,验证码/登录防刷)

This commit is contained in:
Zhou Weidong committed 2026-10-17 02:49:10 +08:00
1 parent f03fcdede5
commit 952057ac51
6 files changed
+135

No files matched your search

@@ -3,6 +3,7 @@
package com.fruitshorts.app.controller;
import com.fruitshorts.common.pojo.Result;
import com.fruitshorts.framework.redis.RateLimit;
import com.fruitshorts.framework.security.SecurityUtils;
import com.fruitshorts.framework.web.WebUtils;
import com.fruitshorts.user.service.AppAuthService;
@@ -35,6 +36,7 @@ public class AppAuthController {
/** 发送验证码。频控在服务端,客户端不需要自己限流。 */
@Operation(summary = "发送验证码(注册/登录/找回密码,服务端频控)")
@RateLimit(limit = 20, windowSeconds = 60, key = "otp")
@PostMapping("/otp")
public Result<Void> sendOtp(@Valid @RequestBody OtpSendReqVO req, HttpServletRequest request) {
otpService.send(req, WebUtils.getClientIp(request));
@@ -49,6 +51,7 @@ public class AppAuthController {
}
@Operation(summary = "登录(验证码或密码),返回令牌")
@RateLimit(limit = 10, windowSeconds = 60, key = "login")
@PostMapping("/login")
public Result<TokenRespVO> login(@Valid @RequestBody LoginReqVO req,
HttpServletRequest request) {
@@ -16,6 +16,10 @@ spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: Asia/Shanghai
data:
redis:
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
mybatis-plus:
configuration: