我們正在嘗試爲我們現有的基於Web的應用程序使用CAS服務器進行SSO。我們的目標是JASIG CAS登錄無CAS登錄屏幕
- 在各種應用程序(包括跨域)中實現SSO。
- 當它們被重定向到CAS Server登錄頁面時,爲不同的應用程序定製登錄(在UI條款中)頁面。
- 無需進入CAS登錄頁面即可進行登錄,原因在於「小登錄 」部分嵌入在頁面本身中,用戶不會被重定向到CAS登錄頁面以獲得更好的可用性。
我們完成了第一個和第二個目標。但是遇到第三個問題。
對於此功能,我們試圖複製與第二個目標相同的操作,唯一不同的是從非CAS登錄頁面提交/發佈數據 (憑證,登錄憑單等)。
- 我們不能使用iframe在小部分中顯示CAS登錄頁面,這容易受到瀏覽器兼容性問題的影響。
- 我們不能使用ajax來獲取登錄票據和執行HTTP post(跨域問題)
- 我們所做的是:在非cas登錄頁面的負載上檢索loginticket和執行id通過在服務器端進行HTTP發佈。 當我們發佈用戶名/密碼以及loginticket和execId時,CAS服務器而不是接受發佈數據 將用戶重定向到CAS登錄頁面,但重做瀏覽器並重新提交數據可以正常工作。原因 沒有在CAS和瀏覽器之間建立起來,因此CAS拒絕任何發佈數據。我們可以使用CAS restAPI,但它只會登錄用戶,無法幫助完成SSO。
有關我們如何處理這個問題的任何想法?
感謝, PRATIK