2012-11-04 66 views

回答

0

發現問題!我打算使用自己的訪問控制系統,因此我評論過濾誰負責檢查用戶角色以訪問URL的位置。顯然,如果我不攔截URL,Spring安全的上下文將無法通過該請求訪問(至少看起來像這樣!我不是文檔的忠實粉絲,所以我嘗試了代碼,當我得到異常時,我試圖猜測原因!我真的應該停止這樣做:|但無論如何,現在我攔截的URL,SecurityContextHolder.getContext()。getAuthentication()不會返回null :))

+0

我也遇到了這個問題。你能否詳細說明你的解決方案? – Swapnil

+0

在我的情況下,問題是我在spring安全配置中註釋了一些行來攔截URL。有一個攔截器檢查用戶是否被認證。尋找那樣的東西! – AmirMV

0

如果SecurityContextHolder.getContext()。getAuthentication()爲null,則表示用戶尚未進行身份驗證。

在CAS的一些指針

  1. 確保您使用SSL進行通信,以CAS因此CAS 必須在SSL端口(443或8443)託管

  2. 確保您春季 應用程序託管在SSL端口上,以便CAS可以通過 SSL服務器呼叫您的Spring。

常見錯誤是CAS和Spring應用程序不在SSL端口上。 如果是這樣,請從www.startssl.com獲得免費SSL證書

+0

我知道!登錄和SSO沒有問題。這兩個應用程序都在https ... – AmirMV

+0

在這種情況下,請確保在其安全網址受Spring Security保護的控制器中調用SecurityContextHolder.getContext()。getAuthentication(),即無需登錄即可訪問該頁面。 –

+0

這也沒有問題!當我嘗試加載URL時,它會將我重定向到CAS(https),並且在登錄後我無法獲得當前用戶... – AmirMV

相關問題