Depois que fiz o conteúdo da aula tentei ir em SecurityConfigurations e eliminei o
.antMathers(httpMethod.GET,"/topicos").permitAll()
Por que com o deletar me volta status 200 e no método lista o Page não retorna nada quando utiliza o token?
Depois que fiz o conteúdo da aula tentei ir em SecurityConfigurations e eliminei o
.antMathers(httpMethod.GET,"/topicos").permitAll()
Por que com o deletar me volta status 200 e no método lista o Page não retorna nada quando utiliza o token?
Oi Joao,
Pode postar aqui os códigos das classes SecurityConfigurations
e TopicosController
para eu entender melhor o que pode estar acontecendo?
Comentei "/topico" em security e esperava que exigisse autenticação ou o token para liberar a listagem mas não acontece isso, por que? O que falta?
@GetMapping
@ResponseBody
@Cacheable(value = "listaDeTopicos")
public Page<TopicoDto> lista(@RequestParam(required=false) String nomeCurso,
@PageableDefault(sort = "id", direction = Direction.ASC, page = 0, size=20) Pageable paginacao) {
//Pageable paginacao = PageRequest.of(pagina, qtd, Direction.ASC, ordenacao);
if(nomeCurso == null) {
Page<Topico> topicos = topicoRepository.findAll(paginacao);
return TopicoDto.convertTopicoParaDto(topicos);
}else {
Page<Topico> topicos = topicoRepository.findByCurso_Nome(nomeCurso, paginacao);
return TopicoDto.convertTopicoParaDto(topicos);
}
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
//.antMatchers(HttpMethod.GET,"/topicos").permitAll()
//.antMatchers(HttpMethod.GET,"/topicos/*").permitAll()
.antMatchers(HttpMethod.POST,"/auth").permitAll()
.antMatchers(HttpMethod.GET,"/actuator/**").permitAll()
// .antMatchers(HttpMethod.GET,"/instances").permitAll()
.anyRequest().authenticated()
//.and().formLogin(); para não criar sessão pois não estamos utilizando token e cookie.
.and().csrf().disable()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and().addFilterBefore(new AutenticacaoViaTokenFilter(tokenService, usuarioRepository), UsernamePasswordAuthenticationFilter.class);
}
Oi João,
Estranho, era para ter bloqueado o acesso sem o token.
Consegue compartilhar seu projeto para eu dar uma analisada?
Rodrigo, Na continuação do curso acabei vendo a parte de autorização com papel e acabou resolvendo o que eu estava querendo fazer! Obrigado.