白名单增加ip校验

This commit is contained in:
liang.chao 2025-09-10 18:04:07 +08:00
parent e8d22f5b1d
commit 30dba589de
6 changed files with 33 additions and 18 deletions

View File

@ -81,9 +81,18 @@ public class SysIpWhitelistController extends BaseController {
@RequiresPermissions("system:whitelist:add")
@PostMapping("/add")
@SysLog(title = "新增白名单", businessType = OperaType.INSERT, logType = 1, module = "系统管理->新增白名单", details = "新增白名单")
public R add(@RequestBody @Validated SysIpWhitelist sysIpWhitelist) {
if (!StringUtils.isValidIp(sysIpWhitelist.getIpAddress())) {
return R.fail("请输入正确的IP地址");
public R add(@RequestBody SysIpWhitelist sysIpWhitelist) {
if (sysIpWhitelist.getIpType().equals("single")) {
if (!StringUtils.isValidIp(sysIpWhitelist.getIpAddress())) {
return R.fail("请输入正确的IP地址");
}
} else if (sysIpWhitelist.getIpType().equals("range")) {
if (!StringUtils.isValidIp(sysIpWhitelist.getIpRangeStart())) {
return R.fail("请输入正确的IP网段起始地址");
}
if (!StringUtils.isValidIp(sysIpWhitelist.getIpRangeEnd())) {
return R.fail("请输入正确的IP网段结束地址");
}
}
return sysIpWhitelistService.insertSysIpWhitelist(sysIpWhitelist);
}
@ -94,9 +103,18 @@ public class SysIpWhitelistController extends BaseController {
@RequiresPermissions("system:whitelist:edit")
@PostMapping("/edit")
@SysLog(title = "修改白名单", businessType = OperaType.UPDATE, logType = 1, module = "系统管理->修改白名单", details = "修改白名单")
public R edit(@RequestBody @Validated SysIpWhitelist sysIpWhitelist) {
if (!StringUtils.isValidIp(sysIpWhitelist.getIpAddress())) {
return R.fail("请输入正确的IP地址");
public R edit(@RequestBody SysIpWhitelist sysIpWhitelist) {
if (sysIpWhitelist.getIpType().equals("single")) {
if (!StringUtils.isValidIp(sysIpWhitelist.getIpAddress())) {
return R.fail("请输入正确的IP地址");
}
} else if (sysIpWhitelist.getIpType().equals("range")) {
if (!StringUtils.isValidIp(sysIpWhitelist.getIpRangeStart())) {
return R.fail("请输入正确的IP网段起始地址");
}
if (!StringUtils.isValidIp(sysIpWhitelist.getIpRangeEnd())) {
return R.fail("请输入正确的IP网段结束地址");
}
}
return sysIpWhitelistService.updateSysIpWhitelist(sysIpWhitelist);
}
@ -105,10 +123,10 @@ public class SysIpWhitelistController extends BaseController {
* 删除白名单管理
*/
@RequiresPermissions("system:whitelist:remove")
@PostMapping("/{ids}")
@PostMapping("/del")
@SysLog(title = "删除白名单", businessType = OperaType.DELETE, logType = 1, module = "系统管理->删除白名单", details = "删除白名单")
public R remove(@PathVariable Long[] ids) {
return sysIpWhitelistService.deleteSysIpWhitelistByIds(ids);
public R remove(@RequestBody SysIpWhitelist sysIpWhitelist) {
return sysIpWhitelistService.deleteSysIpWhitelistByIds(sysIpWhitelist.getId().toString());
}
/**

View File

@ -15,7 +15,6 @@ import java.util.Date;
public class SysIpWhitelist {
private Long id;
@NotBlank(message = "IP地址不能为空")
private String ipAddress;
// 脱敏ip地址
private String ipAddressDes;
@ -23,6 +22,7 @@ public class SysIpWhitelist {
private String ipRangeStartDes;
private String ipRangeEnd;
private String ipRangeEndDes;
private String ipType;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date accessStartTime;

View File

@ -29,7 +29,7 @@ public interface SysIpWhitelistMapper {
int updateSysIpWhitelist(SysIpWhitelist sysIpWhitelist);
int deleteSysIpWhitelistByIds(Long[] ids);
int deleteSysIpWhitelistByIds(@Param("id") String id);
int updateSysIpWhitelistStatus(SysIpWhitelist sysIpWhitelist);
}

View File

@ -27,7 +27,7 @@ public interface ISysIpWhitelistService {
R updateSysIpWhitelist(SysIpWhitelist sysIpWhitelist);
R deleteSysIpWhitelistByIds(Long[] ids);
R deleteSysIpWhitelistByIds(String id);
R updateSysIpWhitelistStatus(SysIpWhitelist sysIpWhitelist);
}

View File

@ -89,9 +89,9 @@ public class SysIpWhitelistServiceImpl implements ISysIpWhitelistService {
}
@Override
public R deleteSysIpWhitelistByIds(Long[] ids) {
public R deleteSysIpWhitelistByIds(String id) {
try {
int rows = whitelistMapper.deleteSysIpWhitelistByIds(ids);
int rows = whitelistMapper.deleteSysIpWhitelistByIds(id);
return rows > 0 ? R.ok() : R.fail();
} catch (Exception e) {
return R.fail();

View File

@ -47,10 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{id}
</update>
<delete id="deleteSysIpWhitelistByIds">
delete from da_ky_sys_ip_whitelist where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
delete from da_ky_sys_ip_whitelist where id = #{id}
</delete>
<select id="selectAllEnabledWhitelist" resultType="SysIpWhitelist">
SELECT *