我有一个sun-jaxws xml web服务:
package com.myWebservices.ws;
import java.*;
import javax.*;
@WebService
public class GetSomeInfo{
//allow IP to consume web service
private static final String IP = "192.168.0.1";
@Resource
WebServiceContext wsContext;
@WebMethod(operationName="getSomeInfo")
public String getSomeInfo(String data) {
MessageContext mc = wsContext.getMessageContext();
HttpServletRequest req = (HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST);
//control access by IP inside the web service code
if (!(req.getRemoteAddr().equals(IP)))
result = "ACCESS DENIED";
else
String result = bean.executeSomeProcess(data);
return result
}
}
您可以看到Web服务受IP访问的保护。但是Web服务具有公共访问权限,即使您仅获得信息仅获得"访问拒绝",也可以消费。
我想知道是否可以在其自己的WebApp XML文件配置中配置Web服务(web-inf/sun-jaxws.xml,web.xml,meta-in/context.xml或ersice。)相同的protection ip访问,它会自动拒绝对与授权IP不同的Web服务的任何访问,甚至没有人可以使用Web服务。
编辑:添加信息:
我真正需要知道是否可以为jax-rs过滤器配置web.xml文件并获得IP protection访问。
谢谢。
就像在web.xml中添加过滤器一样容易
https://knowledgebase.progress.com/articles/articles/how-to-configure-tomcat-tomcat-to-cept-only-localhost-calhost-access-for-the-manager-application