31 votes

Glassfish JAX-WS côté par côté SSL / insécurité EJB webservice

Est-il possible d'exécuter une seule @WebService bean sécurisé et non sécurisé dans le même temps, de préférence en utilisant la même URL, sauf pour le http/https, protocole de différence?

Je suis en mesure d'exécuter le service, que ce soit sécurisé ou non sécurisé à l'aide de:

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

ou

<transport-guarantee>NONE</transport-guarantee>

à l'intérieur de sun-ejb-jar.xml

C'est à dire.

<ejb>
  <ejb-name>MyEJB</ejb-name>
  <webservice-endpoint>
    <port-component-name>MyWebService</port-component-name>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </webservice-endpoint>
</ejb>

Des Suggestions?

2voto

Bart Prokop Points 76

Pourquoi vous venez pas de proxy serveur d'application avec le serveur HTTP Apache ou similaires? J'ai l'habitude de le faire de cette façon et laisser SSL handshake/texte ouvrir la connexion HTTP.

1voto

Ajit Points 239

il suffit de supprimer l' <transport-guarantee>CONFIDENTIAL</transport-guarantee>,, les haricots seront disponibles sur http et https également. <transport-guarantee>CONFIDENTIAL</transport-guarantee> moyen de sécurité strictes, une requête http est redirigé vers https(ssl).

la suppression de ce <transport-guarantee>CONFIDENTIAL</transport-guarantee> , vous obtiendrez une grande flexibilité.

1voto

Dag Points 11

Je suis conscient que c'est une assez vieille question. Cependant, je me sens comme la fourniture de cette réponse car j'ai récemment rencontré exactement le même problème.

Selon la documentation d'Oracle:

  • Spécifier CONFIDENTIELLES lorsque l'application nécessite que les données soient transmises de manière à prévenir d'autres entités à partir de l'observation du contenu de la transmission.
  • Spécifiez AUCUN pour indiquer que le conteneur doit accepter la contrainte demandes sur toute connexion, y compris non protégés, une.

Puisqu'il s'agit simplement d'un transport de garantie, AUCUNE valeur doit vous donner la fonction que vous voulez, à savoir un EJB, Web Services répondant à la fois aux demandes http et https.

Le problème ici, c'est un bug dans Glassfish qui, apparemment, vous limite à accepter demandes http OU https à votre Service Web EJB:

Selon le dernier tableau de tâche, le problème devrait être résolu et le travail de Glassfish 4.0_b75.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X