demoiselle / framework

Repositório principal contendo o Core e Extensions: JPA, Security, WS
https://demoiselle.org
127 stars 77 forks source link

Erro na classe org.demoiselle.jee.security.filter.CorsFilter #76

Closed dricaxisto79 closed 6 years ago

dricaxisto79 commented 7 years ago

Criamos um projeto demoiselle usando o gerador do yeoman que o framework disponibiliza. Para isso seguimos os passos descritos no endereço (https://github.com/demoiselle/framework-documentation/blob/master/generator-demoiselle.md), sendo que foi gerado dois projetos: o frontend e o backend.

Para efeitos de teste, rodamos o frontend com o webpack (npm start) e o backend no jboss eap 7, que é o servidor de aplicação usado nos nossos servidores.

Como eles estão rodando em servidores diferentes, os endereços para acessá-los também são diferentes, sendo que o frontend roda na porta 7070 e o jboss eap na porta 8080.

Sendo que quando entramos na página inicial, a aplicação é carregada normalmente, mas ao acessar o menu de usuários a aplicação percebe que o usuário não está logado no sistema e redireciona para a pagina de login.

Nesse ponto que ocorre o problema, pois quando o usuário tenta logar a aplicação faz uma requisição do tipo post para o servidor mas o navegardor detecta que o endereço desta requisição é diferente da requisição original e é preciso ser feito uma requisição cors preflight, ou seja, antes de enviar a requisição post, o navegador envia uma requisição do tipo OPTIONS para determinar se é seguro enviar o request e isso causa uma falha na classe org.demoiselle.jee.security.filter.CorsFilter, mais precisamente na linha 47. Pelo que percebemos, nessa linha o framework usa a classe ResourceInfo da especificação jax-rs, que representa a classe e o método que está sendo interceptado, mas como a requisição atual não possui um método alvo a ser interceptado ele acaba lançando uma org.jboss.resteasy.spi.UnhandledException.

PauloGladson commented 7 years ago

@dricaxisto79 ,

Perfeita sua descrição e o problema está em uma falha na versão EAP 7.0.0, que foi corrigida na versão EAP 7.0.4 e na versão Wildfly 10.1.0, sugiro que você solicite o patch ao seu fornecedor e até lá pode usar o wildfly 10.1.0

dricaxisto79 commented 7 years ago

@PauloGladson, Obrigada!!