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 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?