com.houkunlin.system.common.aop.AllowIP Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of system-common-aop-starter Show documentation
Show all versions of system-common-aop-starter Show documentation
常用的 AOP 注解功能。
Commonly used AOP annotation features.
The newest version!
package com.houkunlin.system.common.aop;
import java.lang.annotation.*;
/**
* 允许指定IP访问接口
*
* @author HouKunLin
*/
@Inherited
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AllowIP {
String INNER_IP = "INNER-IP";
String INNER_IP_A = "INNER-IP-A";
String INNER_IP_B = "INNER-IP-B";
String INNER_IP_C = "INNER-IP-C";
String INNER_IP_LOCAL = "INNER-IP-LOCAL";
/**
* IP配置分类key。除了预设的KEY之外,将从配置文件读取,{@link AllowIPConfigurationProperties#getAllowIp()} system.common.allow-ip
*
* 内置预设了如下KEY:
*
* INNER-IP
内网IP地址:
*
* - A类地址
10.0.0.0/8
10.0.0.0-10.255.255.255
* - B类地址
172.16.0.0/12
172.16.0.0-172.31.255.255
* - C类地址
192.168.0.0/16
192.168.0.0-192.168.255.255
* - 本机回环地址
127.0.0.0/8
127.0.0.0-127.255.255.255
*
*
* INNER-IP-A
内网A类IP地址:
*
* - A类地址
10.0.0.0/8
10.0.0.0-10.255.255.255
*
*
* INNER-IP-B
内网B类IP地址:
*
* - B类地址
172.16.0.0/12
172.16.0.0-172.31.255.255
*
*
* INNER-IP-C
内网C类IP地址:
*
* - C类地址
192.168.0.0/16
192.168.0.0-192.168.255.255
*
*
* INNER-IP-LOCAL
内网本机本地IP地址:
*
* - 本机回环地址
127.0.0.0/8
127.0.0.0-127.255.255.255
*
*
*
*
*
* @return key
*/
String key() default "";
/**
* 硬编码允许访问的IP列表,仅在 {@link AllowIP#key() AllowIP#key()} 为空字符串时有效,假如 {@link AllowIP#key() AllowIP#key()} 为空字符串且 {@link AllowIP#ipList() AllowIP#ipList()} 为空数组则直接不允许访问。
* IP格式参考 {@link IpUtil#parseIpRange(String)}
*
* @return 硬编码允许访问的IP列表
* @see IpUtil#parseIpRange(String)
*/
String[] ipList() default {};
}