RestController.java
package sk.iway.iwcm.rest;
import javax.servlet.http.HttpServletRequest;
import org.springframework.http.HttpStatus;
import org.springframework.web.server.ResponseStatusException;
import sk.iway.iwcm.Constants;
import sk.iway.iwcm.Logger;
import sk.iway.iwcm.Tools;
/**
* RestController.java
*
*@Title webjet8
*@Company Interway s.r.o. (www.interway.sk)
*@Copyright Interway s.r.o. (c) 2001-2017
*@author $Author: jeeff rzapach $
*@version $Revision: 1.3 $
*@created Date: 25.1.2017 10:15:22
*@modified $Date: 2004/08/16 06:26:11 $
*/
public class RestController
{
/**
* Verify if IP address is available to call this REST service
* @param request
* @return
*/
public boolean isIpAddressAllowed(HttpServletRequest request)
{
String callerIpAddress = Tools.getRemoteIP(request);
if(Tools.isNotEmpty(callerIpAddress))
{
String allowedIpsString = null;
//specific version for className
String className = this.getClass().getSimpleName();
if(Tools.isNotEmpty(className)) {
allowedIpsString = Constants.getString("restAllowedIpAddresses-" + className);
}
if(Tools.isEmpty(allowedIpsString)) allowedIpsString = Constants.getString("restAllowedIpAddresses");
if ("*".equals(allowedIpsString)) return true;
if(allowedIpsString !=null && Tools.isNotEmpty(allowedIpsString)) {
String[] allowedIps = allowedIpsString.split(",");
for(String ip : allowedIps) {
if(callerIpAddress.trim().startsWith(ip.trim())) {
return true;
}
}
}
}
Logger.debug(RestController.class, "Not allowed access, ip: " + callerIpAddress);
throw new ResponseStatusException(HttpStatus.UNAUTHORIZED);
}
}