论坛首页 Java企业应用论坛

net的客户端调用java的web服务,服务端怎样保持session以及通讯的安全问题

浏览 3386 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-05  
SOA
net的客户端调用java的web服务,在客户端怎样保持session以及通讯的安全问题?

1.当客户端从一个功能跳转到另一个功能,判断用户是否已经登陆应该由客户端来做,还是由服务端来做?如果由客户端来做,应该怎么做?已经很就没接触微软的东西了,不知道能不能实现?

目前的想法:
服务端的类从HttpServlet继承。用户从.net客户端登陆后,服务端生成一个Session对象,然后将用户ID保存到Session中。用户退出时,删除Session中的用户ID。用户从功能A跳转到功能B,从Session中取得当前的用户信息,如果用户ID存在,则证明该用户已经登陆过,从而完成了对客户端session的保持。

2.怎样防止非法用户模拟.net客户端和服务端进行通讯的问题.
现在想到的是server端传sessionID给client端,然后,客户端每次调用接口都传递这个sessionID过来,但具体怎么实现还没有想好.


如果有更好的解决办法,或者我的想法有什么问题,欢迎来批!
   发表时间:2008-03-05  
可以采用单点登录
用cookie可以试试
0 请登录后投票
   发表时间:2008-03-05  
防止非法用户模拟.net客户端和服务端进行通讯:
可以采用加密串来验证客户端的合法性,对于每个接口,分别分配一个不同的加密串,基本上可以解决这个问题.

请教是不是还有更成熟更合理的方法呢?
0 请登录后投票
   发表时间:2008-03-06  
看到有的资料提到通过对web服务通讯中的xml进行加密,来保证通讯的安全性,不知道哪位有这方面的经验?
0 请登录后投票
   发表时间:2008-03-06  
ws security
0 请登录后投票
   发表时间:2008-03-06  
"1.当客户端从一个功能跳转到另一个功能,判断用户是否已经登陆应该由客户端来做,还是由服务端来做?如果由客户端来做,应该怎么做?已经很就没接触微软的东西了,不知道能不能实现? "
   ---我想你只要理解ws仅是个http post就行了,与平台语言无关,是否己登陆肯定是由服务端做。

"防止非法用户模拟.net客户端和服务端进行通讯:
可以采用加密串来验证客户端的合法性,对于每个接口,分别分配一个不同的加密串,基本上可以解决这个问题. "
----加密串是无法认证客户端的,呵呵,ws在http上是明文,这个串只是个令牌(不需要知道内容的),中间人如截了照样上来。
"ws security "
----这仅能保护内容,并不能防止非法访问,比如非法用户连结服务器端口。

  不知道LZ的项目是否是涉及政府部门间数据交易的,如是,你得首先确认系统是否运行在一个安全的网络上?如是内部网,那应用层面只要做权限控制就行了;
   如是要连结内外网,用户可能要通过互联网访问,一般要在网络层首先解决身份认证的问题,你可以考虑搭个VPN或发电子钥盘。

      建议就是:尽量在网络层完成数据加密、身份认证等工作,全安要分层次控制;业务逻辑相关的用户权限放到应用程序中就是。
0 请登录后投票
   发表时间:2008-03-06  
http://localhost:8080/abc.do?name=mao&id=1;jession=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
0 请登录后投票
   发表时间:2008-03-07  
javafound讲得很有道理
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics