获取客户端IP地址
讲一下我系统的大概:本系统是管理用户权限的,下面有很多应用系统,他们的用户登录都是透过本系统提供的登陆验证WEB SERVICE,系统有WEB和ERP,所说的“获取客户端(用户)的IP地址”中的客户端就是访问这些系统的登陆页面的用户电脑IP地址。
结构:用户登录(用户的电脑)->访问各个应用系统(很多系统对应很多服务器主机)->各个系统的主机调用登录WEB SERVICE(一个指定的服务器主机)验证用户、返回登陆信息,而我要在这个WEB SERVICE中取得用户登录所使用电脑的IP地址。
目前做法:在WEB SERVICE中添加方法,调用这个WEB服务的时候记录下调用这个服务的主机的IP地址。问题来了:用户访问的是各个应用系统,应用系统去调用WEB服务。等于说是各个应用系统所在主机去调用WEB服务,这样记录下来的是各个应用系统所在主机的IP地址,根本就没用户客户端什么事。愁人……
想让各个系统在登陆页面获取登陆信息传入WEB服务这种方式可行,但是不太现实,因为涉及的系统太多,不可能叫他们一一修改。不知道有没有更好的方式?
请问大家有没有做过相关的,或者有思路的也可以给我说下,谢谢了!
[解决办法]
可以用先从客户端获取IP,各系统在调用WebService时传入IP,WebService就可以接收IP地址信息了。
从各系统调用WebService时可以用SoapHeader来传入IP信息,这样系统原有方法都不需要修改,只要先传SoapHeader信息即可。