我不知道如果我完全理解你的問題,但如果我理解正確的話,你也許可以延長AbstractPreAuthenticatedProcessingFilter並覆蓋getPreAuthenticatedPrincipal和getPreAuthenticatedCredentials通過調用您的RESTful服務/控制器等覆蓋AuthenticationUserDetailsService來做和probide一個簡單的服務,並添加您的安全上下文,像這樣:
<beans:bean id="preauthAuthProvider"
class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider">
<beans:property name="preAuthenticatedUserDetailsService">
<beans:bean class="com.YourCompany.YourPreAuthenticatedGrantedAuthoritiesUserDetailsService"></beans:bean>
</beans:property>
<beans:property name="order" value="1"/>
</beans:bean>
<authentication-manager alias="authenticationManager" >
<authentication-provider ref="preauthAuthProvider" ></authentication-provider>
</authentication-manager>
嗯,這是我的意思,我知道我可以在Spring Security的鏈覆蓋某些元素,實現對我的服務的身份驗證。我想要做的是將登錄表單提交給一個普通的Spring MVC控制器(到目前爲止,Spring安全性尚未涉及)。從那年春天開始,MVC控制器對服務執行身份驗證(再次涉及spring安全)。如果到目前爲止的過程是成功的,請手動將會話標記爲Spring安全性並通過spring mvc控制器建立主體。 – 2012-04-23 18:55:15