stuart8 2011-01-10 14:49
浏览 256
已采纳

关于用httpclient结合servlet登录的问题

想实现的情景是这样的,这是一个单点登录的体系。用户第一次访问Web应用,被重定向到认证中心登录,成功后认证中心重定向到该Web应用,然后该Web应用利用某些机制(如servlet)自动实现该合法用户登录,直接呈现登陆后的页面到浏览器。
(注认证中心通过本地的用户映射表找到该Web的真实用户名,然后返回给Web应用的是该应用自己的真实用户名。)
我现在想做的就是,在Web应用端拦截到用户名后查询到密码,然后用httpclient的postmethod去实现登录,结果浏览器直接显示的就是登录后的页面了。可以在servlet中用调用httpclient的postmethod,然后得到Web应用的cookie,再放在servelt的header里面,再redirect到Web登陆后的页面吗?可行吗?(Web应用采取cookie机制认证)。也不知道说明白了没,其实就是自动登录呈现页面的问题。真心求教。

  • 写回答

2条回答 默认 最新

  • lang_shao 2011-01-10 15:32
    关注

    [quote]按你说的那样需要改很多原有系统的逻辑,不太好。我也想全网使用同一ID,这样各个Web应用都不用自己存储用户了,呵呵。可实际还要涉及权限什么的,所以登录、赋权这些都少不了。没办法,还有什么好办法吗?再次感谢。 [/quote]

    其实,也不用改多少。

    用户没登录时,就弹出认证中心的登录页。

    用户在认证中心登录后,认证中心调用Web应用的WebService,将用户信息作为参数传给Web应用,另外还有一个随机长字符串传过来。认证中心再重定向到Web应用的直接登录页,url中带有那个随机长字符串。

    Web应用的这页,接收到这个随机长字符串后,与认证中心通过WebService传来的进行对比,对比上了,就认为那个用户已经登录了,调用原来的登录方法(不再需要密码)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘