public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(myUserDetailsService).passwordEncoder(new BCryptPasswordEncoder());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers(
"/cars/**"
).permitAll()
.antMatchers("owners/**")
.access("hasRole('ROLE_ADMIN')")
.antMatchers("motor-show/**")
.access("hasAnyRole('ROLE_USER','ROLE_ADMIN')")
.anyRequest()
.authenticated()
.and()
.formLogin();
}
// Пользователь и его роли извлекаются из базы данных (две отдельные таблицы) и помещаются в GrantedAuthorities // Simple of @ GetMapping
@GetMapping("/owners")
public ResponseEntity getOwnersByFirstNameAndLastName(HttpServletRequest request,
@RequestParam(required = false) String firstName,
@RequestParam(required = false) String lastName)