如何在webapp xml配置文件中保护sun-jaxws java web服务

问题描述 投票:0回答:1

我有一个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服务具有公共访问权限,即使您没有获取只有“ACCESS DENIED”的信息,您也可以使用它。

我想知道是否可以在他们自己的webapp xml文件配置(WEB-INF / sun-jaxws.xml,web.xml,META-IN / context.xml或任何...)中配置Web服务相同保护IP访问,它自动拒绝对不同授权IP的Web服务的任何访问,甚至没有人可以使用Web服务。

编辑:添加信息:

如果我可以为JAX-RS过滤器配置web.xml文件并获得IP保护访问权限,我真的需要知道。

谢谢。

java web-services jax-ws web-inf
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.