Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

WAR não funciona corretamente

Olá

baseado no curso, fuiz uma aplicação com spring boot e usei o spring security, a apicação quando usada com fatjar o springsecurity funciona corretamente, permitindo as rotas que liberei, e bloqueando as rotas que não liberei, mas quando gero o .WAR e coloco em um tomcat externo a aplicação sobe normalmente, sem erro, porém o spring security bloqueia todas as rotas, até mesmo as que liberei. já pesquisei muito, e já testei varias coisas e não consigo resolver, alguém conseguiria me dar um norte do porquê isso está acontecendo ?

3 respostas

Fala Lúcio, tudo bem?

Você vai precisar configurar a autenticação da seguinte forma:

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.inMemoryAuthentication()
            .withUser("user").password("password").roles("USER");
}

Oi otável, valeu a resposta, vi aí que o método se chama configureGlobal e fiquei com pequenas dúvidas, eu já tenho o método abaixo :

@Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(usuarioService).passwordEncoder(passwordEncoder());
    }

eu adicionaria mais esse método configureGlobal ?

solução!

O que aconteceu é que quando faço o upload para o tomcat esse tomcat tem um contextpath, e na minha aplicação rest eu estava definindo a rota dessa maneira :

@RequestMapping("contextpath/controller");

rodando localmente funcionava pois no meu properties eu n defini um contextpath para o tomcat embutido.

então quando eu fazia o deploy em um tomcat externo, era como se eu duplicasse o contextpath então as rotas corretas ficavam tipo assim:

http:endereco:porta/meucontexto/meucontexto/meucontroller/funcao

o contexto se repetia.

para resolver isso, parei de mapear o meu controller com o contexto que eu queria