2011-05-26 45 views
0

我已經花了最後一天在CAS中查找並設法使服務器使用簡單的測試應用程序工作。當我進入保護區時,我將重定向到登錄頁面 - 當我登錄時,我會回到上一頁。從那裏開始,下一步將部署兩個客戶端應用程序,登錄到客戶端A,訪問客戶端B保護區並讓系統爲我處理身份驗證(因爲我已經登錄到客戶端A)。具有多個Web應用程序的CAS SSO

然而,這並不實際工作。無論我是否登錄到客戶端A站點,我都必須登錄到客戶端B站點。

CAS是在Tomcat上,客戶A和B運行在同一個項目部署爲獨立戰爭在JBoss作爲6

任何想法如何,我可以實現建議的行爲一個實例?

編輯:是的,兩者都使用CAS。問題在於它似乎沒有認識到用戶已經登錄。就好像CAS不能確定兩個服務之間存在「鏈接」,並且當一個服務已經被認證時,其他服務應該被自動認證。

我應該注意,在這個階段,我沒有在應用程序中使用SSL。在着眼於引入SSL之前,我將重點放在了使用HTTP的簡單示例上。

回答

1

CAS在沒有SSL的情況下工作,它會將您帶到登錄站點並正確驗證您的身份。問題是如果您嘗試通過其他網站訪問,它會要求您再次登錄。

一旦我啓用SSL並嘗試它,它工作正常。一旦登錄到客戶端A,它就會自動在客戶端B對您進行身份驗證。我在維基上花了一些時間,並且在談到使用SSL的重要性時,我不記得明確指出如果沒有啓用SSL,SSO將無法正常工作。也許應該向wiki添加警告?

1

您的兩個應用程序都需要配置爲使用CAS服務器進行身份驗證。正常的過程是,應用程序A將您重定向到您的CAS登錄頁面,讓您登錄並將您重定向回A.如果您嘗試登錄到B,它將檢查CA服務器是否已登錄並且如果是,則發回有關登錄用戶的信息。

同樣,您的應用程序都需要支持CAS作爲登錄機制,我不確定您的描述。

CAS協議的詳細描述可以是found here

+0

請參閱編輯以進行說明。 – NRaf 2011-05-26 23:10:57

+0

關於SSL:默認情況下,CAS依靠具有用於傳輸其令牌的有效證書。這些應用程序的日誌(以及CAS)告訴你什麼?如果SSL是一個問題,它應該在他們的說法中這樣說。 – Dirk 2011-05-27 10:33:10

0

如果你要專注於你的應用程序,讓您的生活更輕鬆,使用雲提供商的CAS服務器:http://www.casinthecloud.com(免費服務器可用於測試)。

相關問題