홈>
spring-security
를 사용하고 있습니다
그리고
spring-security-oauth2
인증 및 권한 부여를위한 (JWT 액세스 토큰). 아이디어는 모든 요청을 통과하지만 인증 된 사용자와 인증되지 않은 사용자를 구별 할 수 있도록하는 것입니다.
@EnableResourceServer
를 활성화하자마자
구성된
HttpSecurity
무시되는 것 같습니다. 요청은 401을 반환합니다.
{
"error": "unauthorized",
"error_description": "Full authentication is required to access this resource"
}
설정은 다음과 같습니다 :
@SpringBootApplication
@EnableJpaRepositories
@ComponentScan
@EntityScan
@EnableWebSecurity
public class Application {
public static void main(final String[] args) {
new SpringApplicationBuilder(Application.class).bannerMode(Banner.Mode.OFF).run(args);
}
@EnableResourceServer
public static class SecurityConfig extends WebSecurityConfigurerAdapter implements JwtAccessTokenConverterConfigurer {
@Override
protected void configure(final HttpSecurity http) throws Exception {
http.csrf().disable();
http.authorizeRequests().anyRequest().permitAll();
}
@Override
public void configure(final JwtAccessTokenConverter converter) {
final DefaultAccessTokenConverter conv = new DefaultAccessTokenConverter();
conv.setUserTokenConverter(userAuthenticationConverter());
converter.setAccessTokenConverter(conv);
}
@Bean
public UserAuthenticationConverter userAuthenticationConverter() {
return new ResourceAuthenticationConverter();
}
}
-
답변 # 1
관련 질문
- java - 웹 서버가 봄 부팅에서 HTTP를 노출하기 전에 코드가 실행되는지 확인하십시오
- java - Spring Gateway 및 Eureka에서 이름 확인 실패
- java - ControllerAdvice, ExceptionHandler 및 RestController에서 catch 블록 시도
- java/spring boot를 사용하는 클라우드 네이티브 빌드 팩/paketo - 다른 jdk 다운로드 uri를 구성하는 방법 (예 : githubcom에 대한 액세스 권한 없음)
- java - SpringBoot 리소스를 UTF-8 파일로 엽니 다
- java - Spring RESTful 웹 서비스 문제
- java - JUnit 테스트는 하나씩 실행할 때만 통과합니다 아마도 잘못된 스레딩
- spring - Java에서 주석 번들을 생성 할 수 있습니까 (즉, 다른 주석을 적용하는 주석)?
- java - Spring에서 Keycloak 토큰을 얻는 방법
- java - 마지막 반복에서 문자열 분할
거의 있습니다. @EnableResourceServer의 javadoc은 쉬운 해결책입니다.
와이즈 비즈WebSecurityConfigurerAdapter
로 변경ResourceServerConfigurerAdapter
의 가시성을 향상 :@EnableResourceServer public static class SecurityConfig extends ResourceServerConfigurerAdapter implements JwtAccessTokenConverterConfigurer { // snip @Override public void configure(final HttpSecurity http) throws Exception { http.csrf().disable(); http.authorizeRequests().anyRequest().permitAll(); } // snip