日期:2014-05-16  浏览次数:20362 次

jsp如何实现单点登录
    在做项目的过程中,我们经常会遇到这样的情况,需要进行单点登录,也就是说用户登录一个系统的同时也登录到其他系统。

这里采用一个例子说明如何实现单点登录


比方说,我一个项目里面(scott)要实现登录到这个项目的同时,登录到58同城。要实现登录俩个项目,肯定要有这俩个不同系统的用户名跟密码才能实现

首先,scott--login.jsp,进行登录验证,成功,则进行跳转到登录成功页面,同时进行登录到58同城。不成功,则就没有必要进行登录58同城了。

scott--login.jsp登录成功后,到index.jsp页面,这里有另外一个jsp文件负责58同城的登录。p_58.login.jsp

假设58同城的登录页面一些参数是这样子的
<body onload="document.pform.submit();">

<form action="/58/cgi-bin/cognos.cgi" name="pform">
<input name="CAMNamespace" value="MyCognos" type="text">
<input name="CAMNamespaceDisplayName" value="MyCognos" type="text">
<input name="b_action" value="xts.run" type="text">
<input name="m" value="portal/main.xts" type="text">
<input name="h_CAM_action" value="logonAs" type="text">
<input name="startwel" value="yes" type="text">
<input name="encoding" value="UTF-8" type="text">
<input name="CAMUsername" value="yourUserName" type="text">
<input name="CAMPassword" value="yourPassWord" type="text">
<input type="submit" value="OK">
</form>

  </body>

在index.jsp页面里面,我们要同时加载这个p_58.login.jsp
这样,就实现了单点登录。很简单,根本不需要通过什么HttpClient 来进行后端操作。当然,这样做的一个前提是需要这个登录页面的登录表单的详细参数的