想实现的情景是这样的,这是一个单点登录的体系。用户第一次访问Web应用,被重定向到认证中心登录,成功后认证中心重定向到该Web应用,然后该Web应用利用某些机制(如servlet)自动实现该合法用户登录,直接呈现登陆后的页面到浏览器。
(注认证中心通过本地的用户映射表找到该Web的真实用户名,然后返回给Web应用的是该应用自己的真实用户名。)
我现在想做的就是,在Web应用端拦截到用户名后查询到密码,然后用httpclient的postmethod去实现登录,结果浏览器直接显示的就是登录后的页面了。可以在servlet中用调用httpclient的postmethod,然后得到Web应用的cookie,再放在servelt的header里面,再redirect到Web登陆后的页面吗?可行吗?(Web应用采取cookie机制认证)。也不知道说明白了没,其实就是自动登录呈现页面的问题。真心求教。
关于用httpclient结合servlet登录的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- lang_shao 2011-01-10 15:32关注
[quote]按你说的那样需要改很多原有系统的逻辑,不太好。我也想全网使用同一ID,这样各个Web应用都不用自己存储用户了,呵呵。可实际还要涉及权限什么的,所以登录、赋权这些都少不了。没办法,还有什么好办法吗?再次感谢。 [/quote]
其实,也不用改多少。
用户没登录时,就弹出认证中心的登录页。
用户在认证中心登录后,认证中心调用Web应用的WebService,将用户信息作为参数传给Web应用,另外还有一个随机长字符串传过来。认证中心再重定向到Web应用的直接登录页,url中带有那个随机长字符串。
Web应用的这页,接收到这个随机长字符串后,与认证中心通过WebService传来的进行对比,对比上了,就认为那个用户已经登录了,调用原来的登录方法(不再需要密码)。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 Keil uVision5创建project没反应
- ¥15 mmseqs内存报错
- ¥15 vika文档如何与obsidian同步
- ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
- ¥15 陆空双模式无人机飞控设置
- ¥15 sentaurus lithography
- ¥100 求抖音ck号 或者提ck教程
- ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
- ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
- ¥15 io.jsonwebtoken.security.Keys