49 votes

API client Jersey - authentification

J'utilise l'API client Jersey pour soumettre des demandes SOAP à un service Web JAX-WS. Par défaut, Jersey utilise en quelque sorte mes informations d'identification Windows NT pour l'authentification lorsqu'elle est défiée. Quelqu'un peut-il expliquer où Jersey fait cela dans le code? Et peut-il être annulé?

J'ai essayé d'utiliser HTTPBasicAuthFilter et de l'ajouter en tant que filtre sur le client. J'ai également essayé d'ajouter mes informations d'identification au champ WebResoruce queryParams, mais aucun d'entre eux n'est capturé.

73voto

iain Points 4876

Au début, j'ai eu ce travail, comme l'indique le Maillot guide de l'Utilisateur

Authenticator.setDefault (authinstance);

Cependant, je ne les aime pas du tout ce qu'il s'est appuyé sur la configuration d'un authentificateur. Après quelques recherches, j'ai découvert que Jersey a un HTTPBasicAuthFilter , ce qui est encore plus facile à utiliser.

Client c = Client.create();
c.addFilter(new HTTPBasicAuthFilter(user, password));

Voir: http://jersey.java.net/nonav/apidocs/1.10/jersey/com/sun/jersey/api/client/filter/HTTPBasicAuthFilter.html http://jersey.java.net/nonav/apidocs/1.10/jersey/com/sun/jersey/api/client/filter/Filterable.html#addFilter(com.sun.jersey.api.client.filter.ClientFilter)

11voto

Ryan Stewart Points 46960

Le guide de l’utilisateur de Jersey contient une petite section sur l’ authentification du client . Je vous recommande de suivre ses conseils et d'essayer d'utiliser Apache HTTP Client au lieu de HttpURLConnection, car il prend beaucoup mieux en charge tout ce que vous souhaitez faire.

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