Получение ошибки 403 при попытке добавить настраиваемые права доступа с помощью GrantedAuthoritiesMapper - PullRequest
0 голосов
/ 06 мая 2020

Это мой класс конфигурации

@Configuration
  @EnableWebSecurity(debug = true)
  public class WebSecurityConfig extends WebSecurityConfigurerAdapter {


  @Override
   protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().anyRequest().authenticated()       
    .and().oauth2Login().userInfoEndpoint().userAuthoritiesMapper(this.userAuthoritiesMapper());



}


private GrantedAuthoritiesMapper userAuthoritiesMapper() {
    return (authorities) -> {
        Set<GrantedAuthority> mappedAuthorities = new HashSet<>();

        authorities.forEach(authority -> {

                mappedAuthorities.add(new SimpleGrantedAuthority("ROLE_A"));

        });

        return mappedAuthorities;
      };

    }
   }

В моем классе контроллера у меня есть метод, в котором я добавил условие, разрешающее только в том случае, если полномочия равны ROLE_A

   @GetMapping("/add")
   @PreAuthorize("hasAuthority('ROLE_A')")
   public String add(Model model) {

    model.addAttribute("customer", new Customers());
    return "customers/form";

  }

Но при попытке доступ к методу. Я получаю 403 запрещенную ошибку. И в конечном итоге я хочу получить полномочия от MYSQL БД на основе зарегистрированной электронной почты и поместить полномочия в сопоставленные полномочия. Я не хочу использовать права доступа по умолчанию, присутствующие в токене доступа. Так что, если бы вы могли помочь мне и в этом.

...