支持接口频率控制机制
发布时间
阅读量:
阅读量
AOP 的核心理念在于将方法的执行过程从外部向内部延伸,在此过程中将其划分为三个阶段,即尚未开始、正在进行以及已经完成。
背景概述
近期正在完成毕业设计,其中涉及发送邮件(用于密码重置验证码)的功能,为防止用户频繁调用邮件发送接口,前端方面采取了按钮置灰并启动倒计时的措施,在倒计时结束后恢复按钮的可用状态。考虑到用户尚未登录的情况下,可能存在恶意行为者利用代码频繁调用接口的情况,因此在未进入相关流程时即进行拦截处理。后端则通过自定义注解结合AOP技术,依据用户IP地址对短时间内接口的访问次数进行限制。
准备:
自定义注解可设定在特定时间范围内允许访问的最大次数
aspect:负责处理标记了自定义注解的参数,并执行相应的处理逻辑。
代码实现
注解:
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface RequestFrequencyLimit {
//访问时间间隔 默认是60 秒
int interval() default 60000;
//访问次数限制
int count() default 3;//默认interval
全部评论 (0)
还没有任何评论哟~
