Advertisement

支持接口频率控制机制

阅读量:

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)

还没有任何评论哟~