我创建了一个 Eclipse 插件,并在其中通过扩展 org.eclipse.jface.wizard.Wizard 创建了一个向导。我正在使用 java.net.URLConnection 对服务器执行基本身份验证,如下所示:
String auth = new String(Base64.encodeBase64((username + ":" + password).getBytes()));
log(auth);
URL url = new URL(server);
URLConnection conn = url.openConnection();
// this fails -- can't stop the auth window when the username/password are invalid
conn.setAllowUserInteraction(false);
conn.setRequestProperty("Authorization", "Basic " + auth);
monitor.beginTask("Authenticating: ", IProgressMonitor.UNKNOWN);
InputStream in = conn.getInputStream();
如果用户名和密码有效,则一切正常。但是,如果用户名和密码没有通过身份验证,Eclipse 会弹出它自己的“需要密码”窗口(我不想要它——我想自己管理失败的身份验证)。我原以为 URLConnection.setAllowUserInteraction 会阻止这个,但它没有效果。