在做項目的過程中,我們經常會遇到這樣的情況,需要進行單點登錄,也就是說用戶登錄一個系統的同時也登錄到其他系統。
這裡采用一個例子說明如何實現單點登錄
比方說,我一個項目裡面(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 來進行後端操作。當然,這樣做的一個前提是需要這個登錄頁面的登錄表單的詳細參數的
摘自 a450065208