2012-09-11 32 views
0

我正在瀏覽CAS和Spring Security之間的問題,但我還沒有找到確切的情況。我的問題是關於設置Spring Security使其基於CAS的用戶。Spring Security將身份驗證委託給CAS

目前,我們正在修改CAS來訪問用戶本身,但是,該應用程序由Spring Security來保護。到目前爲止,CAS - Spring Security似乎委託我們製作自己的自定義UserService來獲取用戶,但是如果用戶來自CAS本身?

有沒有辦法認識到,當CAS發現憑證有效時,Spring Security也會同意它,什麼都不做?或者,這不是它應該如何工作?

有什麼建議可以解決這個問題?

+1

你使用的是CAS客戶端嗎? CasAuthenticationEntryPoint?你想春季安全認證對cas? CasAuthenticationProvider具有authenticationUserDetailsS​​ervice屬性,您可以在其中使用AuthenticationUserDetailsS​​ervice 的實現來基於cas用戶名和屬性創建用戶 –

+0

是的。目的是讓Spring Security能夠對CAS進行身份驗證。從我所看到的,Spring Security似乎想從它自己的用戶存儲中獲得,並且不承認CAS已經讓用戶進入。 – KSGB

回答

0

你沒有提到你正在使用的Spring Security版本,所以我只需要鏈接到3.1鏈的最新版本。 Spring Security CAS Authentication

CAS規範只需要令牌交換。跟蹤認證用戶的業務是Spring Security的一部分。引用文檔中的相關步驟是14和15.Spring Security定義了將AuthenticationProvider委託給UserDetailsS​​ervice以創建可在整個應用程序中引用的對象的流程。您必須定義UserDetailsS​​ervice並讓它構造一個基本的UserDetails對象,即使該對象僅從CAS認證主體中提取用戶名。

相關問題