J'utilise la botte à ressort 2 avec sécurité de ressort.La botte à ressort avec annotation de sécurité n'est pas prise en compte
J'ai divisé la sécurité pour le repos et le mvc.
@EnableWebSecurity
public class MultiHttpSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
}
@Configuration
@Order(1)
public class RestWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/rest/**")
.authorizeRequests()
.anyRequest().authenticated()
.and()
.httpBasic().and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().csrf().disable();
}
}
@Configuration
@Order(2)
public class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/css/**", "/js/**", "/img/**", "/").permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login").permitAll().successHandler(new CustomAuthenticationSuccessHandler())
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessHandler(new CustomLogoutHandler())
.and().csrf().disable();
}
}
}
Mon rôle dans db sont
super-utilisateur, admin, intégrateur.
Dans l'un de mon contrôleur de repos, je mis
@Secured("hasRole('user')")
Ce rôle n'existent pas dans ma demande.
J'ai essayé avec un utilisateur qui ont un rôle: super-utilisateur et intégrateur et qui a fonctionné ...
Même chose avec
@PreAuthorize("hasAuthority('user')")
est-il une autre configuration à faire?
Copie possible de [Comment activer les annotations sécurisées avec la configuration Java?] (Https://stackoverflow.com/questions/24865588/how-to-enable-secured-annotations-with-java-based-configuration) – dur