私は、私は完全にあなたの質問を理解してかどうかわからないのですが、私はそれを正しく理解すれば、あなたはおそらくAbstractPreAuthenticatedProcessingFilterを拡張し、/コントローラなど、あなたの安らかなサービスへの呼び出しでgetPreAuthenticatedPrincipalとgetPreAuthenticatedCredentialsを上書きオーバーライド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 mvcコントローラからプリンシパルを確立します。 –