我已經在CAS維基上使用Spring安全教程將CAS集成到Spring Security。現在我想獲得當前用戶,但不知道如何!如何獲得與cas集成的spring安全中的當前用戶?
我應該從Spring安全還是CAS獲得它?
SecurityContextHolder.getContext().getAuthentication()
返回null:
我已經在CAS維基上使用Spring安全教程將CAS集成到Spring Security。現在我想獲得當前用戶,但不知道如何!如何獲得與cas集成的spring安全中的當前用戶?
我應該從Spring安全還是CAS獲得它?
SecurityContextHolder.getContext().getAuthentication()
返回null:
發現問題!我打算使用自己的訪問控制系統,因此我評論過濾誰負責檢查用戶角色以訪問URL的位置。顯然,如果我不攔截URL,Spring安全的上下文將無法通過該請求訪問(至少看起來像這樣!我不是文檔的忠實粉絲,所以我嘗試了代碼,當我得到異常時,我試圖猜測原因!我真的應該停止這樣做:|但無論如何,現在我攔截的URL,SecurityContextHolder.getContext()。getAuthentication()不會返回null :))
如果SecurityContextHolder.getContext()。getAuthentication()爲null,則表示用戶尚未進行身份驗證。
在CAS的一些指針
確保您使用SSL進行通信,以CAS因此CAS 必須在SSL端口(443或8443)託管
確保您春季 應用程序託管在SSL端口上,以便CAS可以通過 SSL服務器呼叫您的Spring。
常見錯誤是CAS和Spring應用程序不在SSL端口上。 如果是這樣,請從www.startssl.com獲得免費SSL證書
我也遇到了這個問題。你能否詳細說明你的解決方案? – Swapnil
在我的情況下,問題是我在spring安全配置中註釋了一些行來攔截URL。有一個攔截器檢查用戶是否被認證。尋找那樣的東西! – AmirMV