Ceci est une ancienne révision du document !
Spring security
Spring Sécurity est un framework permettant d'ajouter aux applications Spring authentification et contrôle d'accès.
Spring security ajoute au Dispatcher servlet de Spring MVC un ensemble de filtres (servlet filters) qualifié de filter chain.
Intégration
Ajouter les dépendances suivantes à pom.xml :
<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> </dependency>
Authentification par défaut
L'intégration de Spring security met en place une authentification basique par défaut, avec un utilisateur de non user, ayant le rôle USER,
dont le password s'affiche dans la console de démarrage de Spring, utilisable en mode développement :
Il est possible de modifier l'utilisateur par défaut dans application.properties :
spring.security.user.name=boris spring.security.user.password=boris-password spring.security.user.roles=manager
Configuration
La configuration se fait au travers d'une classe de configuration activant la sécurité :
@Configuration
@EnableWebSecurity
class WebSecurityConfig {
@Bean
@Throws(Exception::class)
fun configure(http: HttpSecurity): SecurityFilterChain {
http
.csrf().disable().authorizeHttpRequests()
.requestMatchers("/master/**").hasRole("manager")
.anyRequest().authenticated()
.and()
.formLogin()
return http.build()
}
}

