|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-06-12 关键字: httpclient
我有个A系统,一个B系统,分别在不同的服务器上,A系统有统一认证的功能,当有客户端C访问B时,通过B连到A的统一登录页面并进行了登录,这时我在B的一个jsp里想用httpclient去读取A的一个页面的内容(用户是否登录的页面内容不一样),但却始终得到的是用户没有登录的内容,有没有办法得到登录后的内容呢。
由于A系统判断用户是否登录用到了Cookie,所以问题肯定是由于没有取得Cookie造成的,也就是说用httpclient模拟发送的请求不是从当前浏览器发出的,有没有办法解决呢。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-12
干脆你在B登陆的时候也用httpclient登录一次
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-12
貌似单点登录的原理不是这样的。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-12
shilianghui 写道 貌似单点登录的原理不是这样的。 我不是要实现单点登录,单点登录是已经实现了的,我是要读取A的一个页面的内容,但只能读到用户没有登录的内容 |
|
| 返回顶楼 | |
|
最后更新时间:2008-06-12
我的理解是你想通过httpclient在系统B中以已登陆用户访问A系统的东西,因为你是用cookie来进行登录信息保存,那么绝对是可以的,你可以在B中获取到当前用户request的cookie,赋值给httpclient,然后httpclient就像一个延伸的浏览器可以访问A系统
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-12
seemoon 写道 我的理解是你想通过httpclient在系统B中以已登陆用户访问A系统的东西,因为你是用cookie来进行登录信息保存,那么绝对是可以的,你可以在B中获取到当前用户request的cookie,赋值给httpclient,然后httpclient就像一个延伸的浏览器可以访问A系统 是的,就是这样。。 在B中获取到当前用户request的cookie,赋值给httpclient 能不能赐教代码。 非常感谢! |
|
| 返回顶楼 | |
|
最后更新时间:2008-06-13
你cookie里没有什么数据的,可以这么做,获取那个客户端的session id,然后把session id传过去,通过那个session id来获取session中的数据,这样应该就可以了。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-13
我Cookie里有用户登录的Token信息,但是由A系统写入的,由于A和B的域名不一样,从B系统取不到A写入的Cookie信息吧。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-13
那你在A登录的时候,把A登录生成的Token发一份给B,然后让B从自己的服务器端取。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-13
seemoon 写道 我的理解是你想通过httpclient在系统B中以已登陆用户访问A系统的东西,因为你是用cookie来进行登录信息保存,那么绝对是可以的,你可以在B中获取到当前用户request的cookie,赋值给httpclient,然后httpclient就像一个延伸的浏览器可以访问A系统
B获取不到C关于A的Cookie B有A的证书,所有B已经被A信任了,因此httpclient从A里面获取数据直接带上用户名就行了,当然在A里面还需要根据用户名来返回不同的页面 |
|
| 返回顶楼 | |





