1
resposta

Erro 403

Minha aplicação estava funcionando normalmente, mas agora ao tentar salvar um novo pedido (clicar no botão cadastrar do formulário de pedidos), recebo o erro status 403

O que poder ter ocasionado passar a dar esse erro? Segue o código da classe PedidoController:

package br.com.alura.mvc.mudi.controller;

import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import br.com.alura.mvc.mudi.dto.RequisicaoNovoPedido;
import br.com.alura.mvc.mudi.model.Pedido;
import br.com.alura.mvc.mudi.model.User;
import br.com.alura.mvc.mudi.repository.PedidoRepository;
import br.com.alura.mvc.mudi.repository.UserRepository;

@Controller
@RequestMapping("pedido")
public class PedidoController {

    @Autowired
    private PedidoRepository pedidoRepository;

    @Autowired
    private UserRepository userRepository;

    @GetMapping("formulario")
    public String formulario(RequisicaoNovoPedido requisicao) {
        return "pedido/formulario";
    }

    @PostMapping("novo")
    public String novo(@Valid RequisicaoNovoPedido requisicao, BindingResult result) {

        if(result.hasErrors()) {
            return "pedido/formulario";
        }

        String username = SecurityContextHolder.getContext().getAuthentication().getName();

        User usuario = userRepository.findByUsername(username);

        Pedido pedido = requisicao.toPedido();
        pedido.setUser(usuario);
        pedidoRepository.save(pedido);

        return "redirect:/home";
    }

}
1 resposta

Olá Álvaro, tudo bem?

O erro 403 indica que você não tem permissão para acessar o recurso solicitado. Isso pode acontecer por diversos motivos, como falta de autenticação ou autorização.

No seu caso, parece que o erro está acontecendo ao tentar salvar um novo pedido. Verifique se você está autenticado corretamente na aplicação e se tem permissão para realizar essa ação.

Outra possibilidade é que a configuração de segurança da sua aplicação esteja bloqueando o acesso. Verifique se as configurações de segurança estão corretas e se não há nenhuma restrição que esteja impedindo o acesso.

Espero ter ajudado e bons estudos!