J'utilise tomcat 6, spring mvc 3.0.0 et spring security 3.0.0, et comme les mots de passe stockés dans la base de données sont sha1 hachés, je ne peux pas utiliser l'authentification digest (section 9.2.1 of the documentation spells that out). Pour cette raison, j'ai besoin de faire de l'authentification via https. En raison du surcoût de traitement potentiel, je souhaite conserver autant de trafic que possible dans le protocole http standard. Y a-t-il un moyen que je puisse utiliser https pour les demandes non-motivées, puis utiliser http une fois l'authentification terminée? Je pense que cela est fait avec un ChannelProcessingFilter de quelque sorte, mais je suis perplexe quant aux détails.Exiger l'authentification via https avec la sécurité de printemps?
Voici mon fichier application security.xml tel qu'il est actuellement:
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<http use-expressions="true">
<intercept-url pattern="/**" access="isAuthenticated()" />
<http-basic />
</http>
<authentication-manager>
<authentication-provider user-service-ref="myUserDetailsService">
<password-encoder hash="sha"/>
</authentication-provider>
</authentication-manager>
<beans:bean id="myUserDetailsService"
class="path.to.myUserDetailsServiceImpl">
</beans:bean>
</beans:beans>
Merci pour l'aide.