安全组和安全规则定义

This commit is contained in:
az
2023-12-04 21:04:14 +08:00
parent ce053be992
commit 836252f85b
5 changed files with 159 additions and 0 deletions
@@ -0,0 +1,15 @@
package org.dromara.neutrinoproxy.server.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum SecurityRulePassTypeEnum {
REJECT(0, "reject"),
ALLOW(1, "allow")
;
private final Integer code;
private final String desc;
}
@@ -0,0 +1,7 @@
package org.dromara.neutrinoproxy.server.dal;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.dromara.neutrinoproxy.server.dal.entity.SecurityGroupDO;
public interface SecurityGroupMapper extends BaseMapper<SecurityGroupDO> {
}
@@ -0,0 +1,7 @@
package org.dromara.neutrinoproxy.server.dal;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.dromara.neutrinoproxy.server.dal.entity.SecurityRule;
public interface SecurityRuleMapper extends BaseMapper<SecurityRule> {
}
@@ -0,0 +1,52 @@
package org.dromara.neutrinoproxy.server.dal.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.dromara.neutrinoproxy.server.constant.EnableStatusEnum;
import java.util.Date;
@Data
@ToString
@Accessors(chain = true)
@TableName("security_group")
public class SecurityGroupDO {
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 组名
*/
private String name;
/**
* 描述
*/
private String description;
/**
* 用户id
*/
private Integer userId;
/**
* 启用状态
* {@link EnableStatusEnum}
*/
private Integer enable;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}
@@ -0,0 +1,78 @@
package org.dromara.neutrinoproxy.server.dal.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.dromara.neutrinoproxy.server.constant.EnableStatusEnum;
import org.dromara.neutrinoproxy.server.constant.SecurityRulePassTypeEnum;
import java.util.Date;
@Data
@ToString
@Accessors(chain = true)
@TableName("security_rule")
public class SecurityRule {
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 所属安全组
*/
private Integer groupId;
/**
* 规则名
*/
private String name;
/**
* 规则描述
*/
private String description;
/**
* 规则
* 范围类型:192.168.1.0-192.168.1.255
* 掩码类型:192.168.1.0/24
* 泛型:0.0.0.0
* 单个ip192.168.1.1
* 每个类型中间以英文逗号分隔
*/
private String rule;
/**
* 放行类型,reject 或 allow
* {@link SecurityRulePassTypeEnum}
*/
private Integer passType;
/**
* 优先级,数字越小,优先级越高
*/
private Integer priority;
/**
* 用户id
*/
private Integer userId;
/**
* 启用状态
* {@link EnableStatusEnum}
*/
private Integer enable;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}