Maison >Java >javaDidacticiel >Pourquoi ma configuration de sécurité Spring avec plusieurs configurations HTTP ne fonctionne-t-elle pas ?
Spring Security : plusieurs configurations HTTP ne fonctionnent pas
On peut rencontrer une situation où plusieurs configurations HTTP sont souhaitées pour des pages de connexion personnalisées et une URL sécurisée accès, comme le démontre le scénario suivant :
@Configuration @Order(1) public static class ProviderSecurity extends WebSecurityConfigurerAdapter { // Security configuration for admin/* routes } @Configuration @Order(2) public static class ConsumerSecurity extends WebSecurityConfigurerAdapter { // Security configuration for consumer/* routes }
Cependant, cette approche peut conduire à des écarts lorsqu'une seule configuration est active. Pour résoudre ce problème, reportez-vous au guide Spring Security Reference :
@EnableWebSecurity public class MultiHttpSecurityConfig { // Authentication configuration @Configuration @Order(1) public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter { // Security configuration for /api/* routes } @Configuration public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter { // Security configuration for all other routes } }
Points clés :
Dans l'exemple précédent, le problème se pose car la première configuration avec /antMatcher (qui correspond à toutes les URL) remplace la deuxième configuration, ce qui entraîne que les URL de la deuxième configuration ne sont pas sécurisées. En limitant la portée de la première configuration à /admin/ uniquement, les URL de la deuxième configuration peuvent bénéficier de mécanismes de sécurité appropriés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!