IP체크 수정(내부망 IP 설정파일(xit-fims.conf)에 추가 가능)

main
이범준 1 year ago
parent 944cb44944
commit d7dca6482c

@ -27,8 +27,11 @@ public class FimsConf extends AbstractComponent {
return conf;
}
private String sgg;
private List<String> tasks;
private List<String> taskUrlNames;
private String sgg; //WAS서버 시군구코드
private List<String> tasks; //업무코드
private List<String> taskUrlNames; //업무URL명칭
private List<String> sggNet; //시군구별 내부망 IP대역
}

@ -165,43 +165,61 @@ public class MainController extends cokr.xit.base.web.MainController {
@RequestMapping(name="접속자 IP 확인", value="/ipInfo.do")
public ModelAndView ipInfo(HttpServletRequest hreq) {
String flag = hreq.getParameter("flag");
boolean flagUsable = false;
String remoteAddr = CmmnUtil.getClientIpAddr(hreq);
String net = "";
String[] LOCAL = {"127.0.0.1", "0:0:0:0:0:0:0:1"};
String[] PRIVATES = {"10.","172.16.","172.31.","192.168."};
String[] SGG_NET = {"211.119.124."};
String XIT_NET = "211.119.124.";
List<String> SGG_NET = FimsConf.get().getSggNet();
if(remoteAddr.equals(LOCAL[0]) || remoteAddr.equals(LOCAL[1])) {
if(flag != null && !flag.equals("")){
net = flag;
} else {
net = "intra";
}
net = "intra";
flagUsable = true;
} else if(remoteAddr.startsWith(PRIVATES[0])
|| remoteAddr.startsWith(PRIVATES[1])
|| remoteAddr.startsWith(PRIVATES[2])
|| remoteAddr.startsWith(PRIVATES[3])){
net = "intra";
} else if(SGG_NET.length > 0){
for(String sgg : SGG_NET) {
if(remoteAddr.startsWith(sgg)) {
net = "intra";
}
}
if(flag != null && !flag.equals("")){
flagUsable = true;
} else if(remoteAddr.startsWith(XIT_NET)) {
net = "intra";
flagUsable = true;
} else if(this.includeIp(remoteAddr,SGG_NET)) {
net = "intra";
flagUsable = true;
}
if(flag != null && !flag.equals("")){
if(flagUsable) {
net = flag;
}
} else {
net = "inter";
}
if(net.equals("")) {
net = "inter";
}
return new ModelAndView("jsonView")
.addObject("remoteAddr", remoteAddr)
.addObject("net", net)
;
}
private boolean includeIp(String ipAddr, List<String> ipBand){
boolean result = false;
if(ipBand != null && ipBand.size() > 0){
for(String item : ipBand) {
if(ipAddr.startsWith(item)) {
result = true;
}
}
}
return result;
}
@RequestMapping(name="서버 이벤트 수신 등록", value="/subscribe.do")
public SseEmitter subscribe(HttpServletRequest req) {

Loading…
Cancel
Save