Wan*_*rer 25 java rest web-services restful-authentication jax-rs
我正在编写Java Rest Web服务并需要调用者的IP地址.我以为我曾经在cookie中看到过这个,但现在我没有看到它.是否有一致的地方获取此信息?
我看到了一个使用"OperationalContext"来获取它的例子,但这不是在java中.
rjd*_*olb 39
将HttpServletRequest注入到Rest服务中:
import javax.servlet.http.HttpServletRequest;
@GET
@Path("/yourservice")
@Produces("text/xml")
public String activate(@Context HttpServletRequest requestContext,@Context SecurityContext context){
String ipAddressRequestCameFrom = requestContext.getRemoteAddr();
//Also if security is enabled
Principal principal = context.getUserPrincipal();
String userName = principal.getName();
}
Run Code Online (Sandbox Code Playgroud)
kuk*_*das 16
我想你可以通过请求对象获取IP.
如果我没有弄错,request.getRemoteAddr()
那么.
小智 5
您可以执行以下操作:
@WebService
public class YourService {
@Resource
WebServiceContext webServiceContext;
@WebMethod
public String myMethod() {
MessageContext messageContext = webServiceContext.getMessageContext();
HttpServletRequest request = (HttpServletRequest) messageContext.get(MessageContext.SERVLET_REQUEST);
String callerIpAddress = request.getRemoteAddr();
System.out.println("Caller IP = " + callerIpAddress);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
43809 次 |
最近记录: |