Closed lucasbmonteiro closed 6 years ago
@lucasbmonteiro ,
Vamos lá:
O CORS é um sistema de segurança onde o browser "respeita" um pedido do servidor, para isso você pode colocar as configs no header das requisições, no d3 via demoiselle.properties(https://demoiselle.gitbooks.io/documentacao-jee/content/cors.html), esses pedidos para os navegadores serão enviados em todos os pedidos. A anotação @Cors(enabled = "false" ou "true") você pode colocar no recurso ou na classe(vale para todos os recursos), você pode testar isso no exemplo (https://github.com/demoiselle/example/tree/master/v3/forum). Alguns frameworks de frontend fazem um chamado options antes de cada chamada dos recursos para receber do servidor "instruções" sobre o recurso, se bem configurado o cors é uma ótima opção de segurança.
@lucasbmonteiro
Um exemplo de acesso onde o cors é totalmente desabilitado, https://github.com/demoiselle/example/tree/master/v3/cep
@PauloGladson
Testei a aplicação de exemplo "forum" conforme sugerido e o mesmo problema acontece. Os browsers Chrome e Firefox tentam fazer um preflighted request usando o método http OPTIONS e a chamada retorna erro 500 do servidor. O problema na aplicação forum ocorreu na funcionalidade "inclusão de categoria". A aplicação foi implantada no servidor JBoss EAP 7.
O problema relatado pelo @ronenramallo ocorre no org.demoiselle.jee.security.filter.CorsFilter.filter(CorsFilter.java:47) e é o seguinte: RESTEASY003880: Unable to find contextual data of type: javax.ws.rs.container.ResourceInfo.
Por algum motivo não foi possível injetar o ResourceInfo com @Context neste ContainerResponseFilter para esta requisição.
Trata-se, na verdade, de um Bug do próprio RestEasy e existe um PR que trata disso (https://github.com/resteasy/Resteasy/pull/785), mas eu não sei em qual versão ele foi incorporado.
A versão do RestEasy no EAP 7.0 é 3.0.16. Talvez seja interessante atualizar os módulos do RestEasy no EAP para um teste.
@thiagosoares
Atualizando a versão do resteasy para a 3.0.19 funcionou.
Obrigado!
@ronenramallo , as versões do Wildfly 10.1.0-Final e do EAP 7.0.4 tem essa correção.
@lucasbmonteiro , as informações resolveram o problema?
Resolveram sim, @PauloGladson . Obrigado!
Olá,
Trata-se de problema relacionado a cross-domain na versão 3 do Demoiselle. Tentamos seguir as instruções contidas no link https://demoiselle.gitbooks.io/documentacao-jee/content/cors.html, porém só funcionou com GET. Nos outros casos, o browser tenta fazer um "preflighted request" com OPTIONS, e não funciona. Também tentamos chamar o OPTIONS com outro cliente http e não funcionou.
Alguma dica? Grato!