En fait, j'ai trouvé que la sécurité de Spring a un support natif pour la sécurité pré-authentifiée. En particulier, j'ai regardé org.springframework.security.ui.preauth.AbstractPreAuthenticatedProcessingFilter, qui vient avec un certain nombre d'implémentations, dont RequestHeaderPreAuthenticatedProcessingFilter semblait le plus utile. Alternativement, on pourrait aussi écrire un filtre personnalisé en étendant le AbstractPreAuthenticatedProcessingFilter. Une fois cela fait, vous devrez également définir un point d'entrée personnalisé dans votre contexte d'application, ainsi que d'autres dépendances requises par Spring Security. Je m'excuse que je suis pressé et que je n'ai pas le temps de le formater correctement. J'espère que cela t'aides.
<bean id="customEntryPoint"
class="org.springframework.security.ui.preauth.PreAuthenticatedProcessingFilterEntryPoint" />
et ce
<bean id="preauthAuthProvider"
class="org.springframework.security.providers.preauth.PreAuthenticatedAuthenticationProvider">
<security:custom-authentication-provider />
<property name="preAuthenticatedUserDetailsService">
<bean id="userDetailsServiceWrapper"
class="org.springframework.security.userdetails.UserDetailsByNameServiceWrapper">
<property name="userDetailsService" ref="userDetailsService" />
</bean>
</property>
</bean>
et ce
<bean id="userDetailsService" class="yourimplementation.CustomUserDetailsService" />
et ce
<security:http auto-config="false"
access-decision-manager-ref="accessDecisionManager"
entry-point-ref="customEntryPoint">
<security:intercept-url pattern="/*" access="permitAll" />
</security:http>
<security:authentication-manager alias="authenticationManager" />
fait, je trouve que la sécurité de printemps a un support natif pour la sécurité pré-authentifié. En particulier, j'ai regardé org.springframework.security.ui.preauth.AbstractPreAuthenticatedProcessingFilter, qui vient avec un certain nombre d'implémentations, dont RequestHeaderPreAuthenticatedProcessingFilter semblait le plus utile. – Aamir