我有一个看起来像这样的方法,客户端以第二个代码片段中显示的方式使用它。我在我的应用程序中使用 Spring bean,所以我想知道 Spring 是否有自己的方法?我可以很容易地注入用户名/密码,但我想知道是否有以 Spring 为中心的方法。
客户端正在访问受密码保护的 URL,该 URL 在专用网络上托管 Web 服务。
import java.net.Authenticator;
public class MyAuthenticator extends Authenticator {
protected PasswordAuthentication getPasswordAuthentication() {
String promptString = getRequestingPrompt();
String hostname = getRequestingHost();
InetAddress ipaddr = getRequestingSite();
int port = getRequestingPort();
String username = "myusername";
String password = "mypassword";
return new PasswordAuthentication(username, password.toCharArray());
}
}
客户端代码:
Authenticator.setDefault(new MyAuthenticator());