VPN服务器

新增添加IP重复验证
删除验证是否被IP复用-用户管理使用
IP复用-用户管理 删除验证是否被snat策略和dnat策略使用
This commit is contained in:
leijun
2019-01-18 17:40:23 +08:00
parent b9c9b5aab9
commit 436190fe8c
10 changed files with 146 additions and 13 deletions

View File

@@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.eclipse.jetty.util.ajax.JSON;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -23,10 +24,8 @@ import com.google.common.collect.Maps;
import com.nis.domain.Page;
import com.nis.domain.basics.IpReuseIpCfg;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.configuration.BaseCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.IpReuseDnatPolicyCfg;
import com.nis.domain.configuration.IpReusePolicyCfg;
import com.nis.domain.configuration.UserManage;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
@@ -34,10 +33,14 @@ import com.nis.util.DateUtils;
import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.BaseController;
import com.nis.web.service.configuration.IpMultiplexService;
@Controller
@RequestMapping("${adminPath}/maintenance/userManage")
public class UserManageController extends BaseController{
@Autowired
private IpMultiplexService ipMultiplexService;
@RequestMapping(value = {"/list"})
@RequiresPermissions(value={"user:manage:view"})
@@ -69,13 +72,30 @@ public class UserManageController extends BaseController{
public String delete(Integer isValid
,String ids
,RedirectAttributes redirectAttributes,HttpServletRequest request){
String deleteSuccessIp="";
String message="";
Properties msgProp = getMsgProp();
String exUser="";
try{
for (String id : ids.split(",")) {
UserManage user=userManageService.getUserById(id);
if(user != null && !StringUtil.isEmpty(user.getServerIp())) {
//判断用户是否存在snat、dnat复用策略中
boolean flag=true;
if(user!=null && !StringUtil.isEmpty(user.getUserName())){
//snat
List<IpReusePolicyCfg> snatList=ipMultiplexService.findByUser(user.getUserName());
if(snatList!=null && snatList.size()>0){
exUser+=user.getUserName()+"";
flag=false;
}else{
//dnat
List<IpReuseDnatPolicyCfg> dnatList=ipMultiplexService.findDnatUser(user.getUserName());
if(dnatList!=null && dnatList.size()>0){
exUser+=user.getUserName()+"";
flag=false;
}
}
}
if(user != null && !StringUtil.isEmpty(user.getServerIp()) && flag) {
boolean lastIp=false;
int deleteIpLenth=1;
String serverIp=user.getServerIp().substring(0, user.getServerIp().length()-1);
@@ -99,9 +119,19 @@ public class UserManageController extends BaseController{
}
}
}
addMessage(redirectAttributes,"success","delete_success");
if(!StringUtil.isEmpty(exUser)){
exUser=exUser.substring(0, exUser.length()-1);
addMessage(redirectAttributes,"error", msgProp.getProperty("user")+" "+exUser+" "+msgProp.getProperty("user_check"));
}else{
addMessage(redirectAttributes,"success","delete_success");
}
}catch(Exception e){
logger.error("Delete failed",e);
if(!StringUtil.isEmpty(exUser)){
exUser=exUser.substring(0, exUser.length()-1);
message+="<br/> "+msgProp.getProperty("user")+" "+exUser+" "+msgProp.getProperty("user_check");
}
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error",message);
}else {