Estoy construyendo un plugin de Eclipse que se comunica con una interfaz REST que usa la Autenticación básica. Cuando la autenticación falla, me gustaría abrir el cuadro de diálogo de configuración de mi complemento y volver a intentarlo. Normalmente podría usar el Authenticator.setDefault()
estático para configurar un autenticador para todos los HttpURLConnection
's para esto, pero como estoy escribiendo un plugin no quiero sobreescribir el predeterminado Authenticator
de Eclipse (org.eclipse.ui.internal.net.auth
);Java Authenticator por conexión?
Pensé en configurar mi Authenticator
personalizado antes de cargar y volver a poner el valor predeterminado de Eclipse después, pero imagino que esto causará todo tipo de problemas de raza con el multihilo, así que rápidamente perdí esa noción.
búsquedas de Google entregan todo tipo de resultados básicamente me dice que no es posible:
El API Java URLConnection debe tener un setAuthenticator (autenticador) método para hacer más fácil el uso de esta clase en el contexto multi-hilo, donde se requiere autenticacion.
Si las aplicaciones contienen algunos plugins de terceros y cada plugin utilizar su propio autenticador lo que debemos hacer? Cada invocación de método "Authenticator.setDefault()" reescriben previamente definido autenticador ...
¿Hay enfoques diferentes que pueden ayudar a superar este problema?
+1 Tengo el mismo problema. ¡Muy molesto! –