2017-09-15 6 views
1

Je suis en train de mettre à niveau une application existante pour utiliser Spring Boot et quitter le fichier web.xml. Bien que j'aie atteint la fonctionnalité, il y a une partie de mon web.xml que pour la vie de moi, je ne peux pas comprendre comment mettre à niveau vers le démarrage de printemps. (S'il importe que je utilise 1.5.6)Passage de web.xml à Spring Boot

partie pertinente de mon web.xml:

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>basic</web-resource-name> 
     <url-pattern>*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>User</role-name> 
    </auth-constraint> 
</security-constraint> 

<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>myrealm</realm-name> 
</login-config> 

Voilà ma classe d'application:

@SpringBootApplication 
public class Application extends SpringBootServletInitializer{ 

public static void main(String[] args) { 
    SpringApplication.run(Application.class, args); 
} 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { 
     return builder.sources(Application.class); 
    } 
} 

Je n'ai pas été en mesure de déterminer comment configurer quoi que ce soit pour refléter la fonctionnalité de security-constraint ou de login-config en utilisant une approche basée sur le code.

Si quelqu'un a des idées de comment ou peut me diriger dans la bonne direction, je serais grandement reconnaissant. Quelques heures de googling et de solutions éprouvantes ne m'ont laissé rien.

+0

peut-être chercher un tutoriel "tutoriel de sécurité de démarrage du printemps"? Avec ce terme de recherche, vous en trouvez beaucoup. – Heri

Répondre

0

Regardez dans @EnableWebSecurity et WebSecurityConfigurerAdapter

Voir exemple ci-dessous:

@EnableWebSecurity 
@Configuration 
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER) 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      .csrf().disable() 
      .authorizeRequests() 
      .antMatchers("/**").authenticated() 
      .anyRequest() 
      .permitAll() 
      .and().httpBasic() 
      .and().sessionManagement() 
      .sessionCreationPolicy(SessionCreationPolicy.STATELESS); 
    } 
}