Определение класса BearerTokenAccessDeniedHandler Не найдено - PullRequest
0 голосов
/ 25 декабря 2018

Я пробую демонстрационный проект с пружинной загрузкой 2.1.1 и spring sec 5 в качестве сервера ресурсов OAuth2, однако при попытке выполнить следующее

ENV

  • Spring Boot 2.1.1 RELEASE
  • Spring Security Core 5.1.2

  • Java 8

КОД

    @RestController
    @SpringBootApplication
   //  @EnableResourceServer
    public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
    @GetMapping("/hello")
    public String sayHello() {
    return "Hello World";
    }

    @Configuration
    static class MyWebSecurityConfigurerAdapter extends 
    WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests().anyRequest().authenticated()
                .and()
                .oauth2ResourceServer().jwt(); // <--- throws error

        }
      }

    }

, который выдает ошибку

Фабричный метод 'springSecurityFilterChain' выбросил исключение;вложенным исключением является java.lang.NoClassDefFoundError: org / springframework / security / oauth2 / сервер / ресурс / web / access / BearerTokenAccessDeniedHandler

BUILD

Мои зависимостивыглядеть

dependencies {

implementation('org.springframework.boot:spring-boot-starter-web')
implementation('org.springframework.boot:spring-boot-starter-security')
implementation(group: 'org.springframework.security.oauth.boot', name: 'spring-security-oauth2-autoconfigure', version: '2.1.1.RELEASE')

implementation(group: 'org.springframework.security.oauth', name: 'spring-security-oauth2', version: '2.3.4.RELEASE')
}

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Исключение исчезло, когда я добавил spring-boot-starter-oauth2-resource-server зависимость

0 голосов
/ 26 марта 2019

Я тоже.

Но я нашел это в org.springframework.boot:spring-boot-starter-oauth2-resource-server


Кстати, я импортировал org.springframework.boot:spring-boot-starter-oauth2-resource-server упаковку и использую:

        http
                .authorizeRequests()
                .antMatchers("/**").hasAnyRole("admin")
                .anyRequest().authenticated();
                //.and()
                //.oauth2ResourceServer() don't use it,
                //.jwt();
                // Do not use it, otherwise you must define 
                // jwtDecoderByIssuerUri or jwtDecoderByJwkKeySetUri

Если вы хотите включить oauth2ResourceServer, возможно, вам нужно подождать Spring Security 5.3.x.

Возможно, это связано с next-generation-oauth-2-0-support-with-spring-Безопасность

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...