Я стараюсь использовать Swagger с моим Get, опубликуйте конечные точки. Когда я пытаюсь запустить Enpoint без аутентификации, он возвращает мне 401, но поставьте и положите 403. Почему это так отличается? Я хотел бы, чтобы все они вернули 401, если нет аутентификации.
Вот мой контроллер < /p>
@Controller
@RequestMapping(value = {"/abc"}, produces = {"application/json"})
public class MyController {
@ApiOperation(value = "Create", notes = "", response = Dto.class, authorizations = {
@Authorization(value = "oauth2schema", scopes = {
@AuthorizationScope(scope = "read", description = "read")
})
}, tags = {})
@RequestMapping(value = "/v1",
produces = {"application/json"},
method = RequestMethod.POST)
public ResponseEntity create(
@ApiParam(value = "") @RequestBody Dto dto) {
return ...;
}
@ApiOperation(value = "Get", notes = "", response = Dto.class, authorizations = {
@Authorization(value = "oauth2schema", scopes = {
@AuthorizationScope(scope = "read", description = "read")
})
}, tags = {})
@RequestMapping(value = "/v1",
produces = {"application/json"},
method = RequestMethod.GET)
public ResponseEntity get() {
return ... ;
}
}
< /code>
Тогда у меня есть некоторые настройки Auth < /p>
@Configuration
@EnableWebSecurity
@EnableDiscoveryClient
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
// @formatter:off
http
.authorizeRequests()
.antMatchers("/metrics").permitAll()
.antMatchers("/health").permitAll()
.antMatchers("/info").permitAll()
.antMatchers("/swagger.json").permitAll()
.antMatchers("/abc/**").authenticated()
.and()
.exceptionHandling()
.and()
.oauth2ResourceServer(OAuth2ResourceServerConfigurer::opaqueToken);
// @formatter:on
return http.build();
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... 401-on-get
Весенний возврат 403 на почту и положить и 401 на получение ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение