问题描述:我在A 应用程序里 通过httpClient 访问B应用程序. 在B应用程序里 有写入cookie 的方法.(该过程主要是模拟登陆).
然后我在浏览器地址栏中 访问B应用程序的主业务地址. 发现取不到之前设过的cookie值. 但都是用的同一个浏览器.为什么取不到cookie呢? 请问各位大侠. 怎样才能获取到相同的cookie值???
然后我在浏览器地址栏中 访问B应用程序的主业务地址. 发现取不到之前设过的cookie值. 但都是用的同一个浏览器.为什么取不到cookie呢? 请问各位大侠. 怎样才能获取到相同的cookie值???
解决方案 »
- 曾遇到过这种奇怪现象的请帮帮忙
- nutch搜索结果为0
- jsp如何像傲胜博客那样在页面中配置数据库
- 大家能不能帮我写个正则表达式?
- 想要在本地上传图片并在网页上显示出来 该怎么搞(新手上路)
- java.lang.IllegalStateException: getOutputStream() has already been called for this response错误
- 如何得到当前jsp程序文件的磁盘路径?
- 急!求救:如何将xls,doc转换为pdf?
- 小问题,为什么运行这句:if(shenpibumen.equals("财务部"))提示:NullPointerException
- action给自己本身的页面传东西应该怎么写?
- jsp
- 为什么避免相关子查询
2. 你在添加cookie时没有设置其生命周期或设置的时间<=0
你用HttpClient连接B系统,那么Cookie将返回给HttpClient,HttpClient会在内存中维护它。接下来你用浏览器访问B系统,浏览器当然没有HttpClient关于B系统的Cookie信息。
所以楼主你注意到,单点登录一般都需要在跳转URL上带一个超长的Token,来传递相关信息,并完成B系统的自动登录。建议你了解下开源的单点登录组件:cas