1

我创建了一个 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 会阻止这个,但它没有效果。

4

1 回答 1

1

请参阅扩展点org.eclipse.equinox.security.loginModule

于 2011-08-24T02:18:29.357 回答