Sto creando un plug-in Eclipse che comunica con un'interfaccia REST che utilizza l'autenticazione di base. Quando l'autenticazione fallisce, desidero visualizzare la finestra di dialogo delle impostazioni del mio plug-in e riprovare. Normalmente potrei usare lo statico Authenticator.setDefault()
per configurare un autenticatore per tutti gli HttpURLConnection
per questo, ma poiché sto scrivendo un plugin non voglio sovrascrivere il valore predefinito di Eclipse Authenticator
(org.eclipse.ui.internal.net.auth
);Java Authenticator su base per connessione?
Ho pensato di impostare il mio Authenticator
personalizzato prima di caricare e ripristinare in seguito il default di Eclipse, ma immagino che questo causerà tutti i tipi di problemi di gara con il multithreading, quindi ho rapidamente perso questa nozione.
ricerche di Google apportato tutti i tipi di risultati fondamentalmente mi dice che non è possibile:
L'API Java URLConnection dovrebbe avere un setAuthenticator (Authenticator) metodo per fare più facile da usare questa classe in un contesto multi-threaded in cui l'autenticazione è richiesta
Se le applicazioni contiene alcuni plugin di terze parti e ogni plugin usare il proprio autenticatore cosa dovremmo fare? Ogni invocazione del metodo "Authenticator.setDefault()" riscrivere precedentemente definiti Authenticator ...
Esistono diversi approcci che potrebbero aiutare a superare questo problema?
+1 Ho lo stesso problema. Molto noioso! –