高手请指点!JSP Session问题 ip内网可以,外网不可以。

sun94510451 2009-08-21 10:51:34
大家好!我这边的情况描述如下:
  用内网IP(10.200.60.57)来访问一切正常可以正常登陆管理后台;而如果用配置的外网域名来访问(http://nscl.szns.gov.cn/admin/login.jsp ),则刚登录成功就出错!检查跟踪后发现是Session的问题,外网访问从一个验证页跳转到后台管理主页面后Session就为null了!我们这边测试了也配了外网的IP却不出现这种情况,据有些技术人员指导我说可能是防火墙的问题,但防火墙只能是阻止访问而不能阻止登陆啊。
  客户的运行环境 JDK1.5 Sun JES9.1.2中间件WEB服务器,Oracle10g数据库。客户那边内外组网方式不一样,网关也不一样,导致了Session的域改变。

  请大虾们帮帮忙,一起找找问题的原因!谢谢了!
...全文
249 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
hz890 2009-08-24
  • 打赏
  • 举报
回复
应该是浏览器端的Cookie设定问题
南南北北 2009-08-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 sun94510451 的回复:]
设置你客户那边的cookie选项
指的什么?
[/Quote]

也可能是他们的域的设置问题.总之让他们放行这个网站...
南南北北 2009-08-24
  • 打赏
  • 举报
回复
ie关于cookie的设置.
sun94510451 2009-08-24
  • 打赏
  • 举报
回复
设置你客户那边的cookie选项
指的什么?
itisonlylove_yy 2009-08-23
  • 打赏
  • 举报
回复
en
南南北北 2009-08-23
  • 打赏
  • 举报
回复
两次sessionId当然不一样,一样不就没问题了.
就因为上次访问的sessionId没有带回去,所以服务器会生成个新的sessionId给你.

设置你客户那边的cookie选项,要不就urlrewrite把sessionId带过去.
sun94510451 2009-08-23
  • 打赏
  • 举报
回复
同意你的分析,我也测试了,是不同的Sessionid,但请问怎么解决呢??
[Quote=引用 8 楼 grandboy 的回复:]
什么啊,怎么都乱回答呢? 你可以用工具看一下客户的http请求和响应情况,并且在服务器把sessionid打出来,看是不是sessionid不致,导致session丢失,才让你的程序找不到session里的内容。 这个值如果被firewall或者proxy阻止或者修改了,自然就出现这个问题。
[/Quote]
closewbq 2009-08-22
  • 打赏
  • 举报
回复
可能客户端的cookies的安全级别比较高
xiaozejun 2009-08-22
  • 打赏
  • 举报
回复
还是建议楼主一步步调试一下 看在外网
的情况下 session的值 和在内网情况下
的值的区别
原则上 如果不是做网络通信服务的话
外网和内网应该不会有很大的问题的
依水如风 2009-08-22
  • 打赏
  • 举报
回复
你的登陆session值夸域被阻止了,导致为空。
a1015154569 2009-08-22
  • 打赏
  • 举报
回复
试试 把你internet选项里的cookie该成中高
一百减一 2009-08-22
  • 打赏
  • 举报
回复
什么啊,怎么都乱回答呢? 你可以用工具看一下客户的http请求和响应情况,并且在服务器把sessionid打出来,看是不是sessionid不致,导致session丢失,才让你的程序找不到session里的内容。 这个值如果被firewall或者proxy阻止或者修改了,自然就出现这个问题。
xuexijava 2009-08-22
  • 打赏
  • 举报
回复
Mark
lcj_up 2009-08-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yakadoo 的回复:]
数据放入session是在后台执行的,如果都能通过验证说明经过后台的程序处理session是有值的,那就只能是页面跳转时传值失败吧,或者你在管理主页面引用session时弄错了,和内网外网有什么关系就不知道了...关注
[/Quote]

guohouchang 2009-08-22
  • 打赏
  • 举报
回复
自己再检查下
南南北北 2009-08-21
  • 打赏
  • 举报
回复
是不是你用的服务器在默认情况下session是依靠客户端的cookie来实现的。但如果客户端浏览器不支持cookie或将cookie功能关闭,那就就意味着无法通过cookie来实现session了,你的浏览器认为内网是安全的,允许cookie而对外网是禁止的.查看下你测试的机器的cookie设置.
不良的卡卡 2009-08-21
  • 打赏
  • 举报
回复
数据放入session是在后台执行的,如果都能通过验证说明经过后台的程序处理session是有值的,那就只能是页面跳转时传值失败吧,或者你在管理主页面引用session时弄错了,和内网外网有什么关系就不知道了...关注

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧