- 我有一個導出web服務的應用程序,其中配置了Spring Security
SecurityFilterChain
(其中SecurityContextPersistenceFilter
等,其餘爲其他需要)。 - 我的應用程序還使用Spring Security來保護方法調用。
我有以下時,方法的安全性被觸發錯誤:在SecurityContext中找不到驗證對象
org.springframework.security.authentication.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext
第二部分要求SecurityContextHolder
的Authentication
在org.springframework.security.access.intercept.AbstractSecurityInterceptor
(線195)顯示:
SecurityContextHolder.getContext().getAuthentication();
但是,SecurityContextPersistenceFilter
在觸發方法調用之前將其刪除,如 org.springframework.security.web.context.SecurityContextPersistenceFilter
(第84行)
SecurityContextHolder.clearContext();
當方法調用被觸發時,我該怎麼做這個對象在SecurityContextHolder
?
預先感謝您。
我使用Spring Security的3.0.8-RELEASE