mirror of
https://github.com/ctripcorp/zeus.git
synced 2024-09-20 23:56:05 +08:00
add domain validation
This commit is contained in:
parent
280ceeb2f3
commit
76c4277fde
|
@ -12,6 +12,7 @@ import org.springframework.stereotype.Component;
|
|||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* Created by zhoumy on 2015/9/24.
|
||||
|
@ -27,6 +28,12 @@ public class DefaultVirtualServerValidator implements VirtualServerValidator {
|
|||
@Resource
|
||||
private RVsStatusDao rVsStatusDao;
|
||||
|
||||
private final Pattern pattern;
|
||||
|
||||
public DefaultVirtualServerValidator() {
|
||||
pattern = Pattern.compile("([\\w\\.\\-]+)");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean exists(Long vsId) throws Exception {
|
||||
return slbVirtualServerDao.findByPK(vsId, SlbVirtualServerEntity.READSET_FULL) != null;
|
||||
|
@ -46,6 +53,9 @@ public class DefaultVirtualServerValidator implements VirtualServerValidator {
|
|||
if (!getPortWhiteList().contains(virtualServer.getPort())) {
|
||||
throw new ValidationException("Port " + virtualServer.getPort() + " is not allowed.");
|
||||
}
|
||||
if (!pattern.matcher(domain.getName()).matches()) {
|
||||
throw new ValidationException("Invalid domain name.");
|
||||
}
|
||||
String key = domain.getName().toLowerCase() + ":" + virtualServer.getPort();
|
||||
if (existingHost.contains(key))
|
||||
throw new ValidationException("Duplicate domain and port combination is found: " + key);
|
||||
|
|
Loading…
Reference in a new issue