Я пытаюсь выполнить аутентификацию с помощью хоста kerberos/HTTP. Использование Apache HttpClient в качестве моего клиента - и слегка измененная версия этого источника. Моя проверка подлинности Kerberos прошла отлично, и я хочу знать, как программно устанавливать учетные данные. В настоящий момент учетные данные вводятся вручную через консоль, но я хочу, чтобы она была выбрана мной во время выполнения. [Как я хочу автоматизировать и загрузить тестовый сервер с большим количеством пользователей, на самом деле. ].
EDIT: Вот фрагмент кода соответствующих частей:
..
NegotiateSchemeFactory nsf = new NegotiateSchemeFactory();
httpclient.getAuthSchemes().register(AuthPolicy.SPNEGO, nsf);
Credentials use_jaas_creds = new Credentials() {
public String getPassword() {
return null;
}
public Principal getUserPrincipal() {
return null;
}
};
httpclient.getCredentialsProvider().setCredentials(
new AuthScope(null, -1, null),
use_jaas_creds);
HttpUriRequest request = new HttpGet("http://kerberoshost/");
HttpResponse response = httpclient.execute(request);
..
Интерфейс Credentials
имеет два метода: getPassword()
и getUserPrincipal()
, но из некоторой отладки я вообще ничего не вызывал.
Что мне здесь не хватает? Что такое более чистый способ статического набора учетных данных?
Очень вопрос был задан до, но keytabs/login.conf hack слишком громоздкий и не является практичным вариантом для автоматического теста нагрузки с большим количеством учетных данных пользователя. Оцените любую помощь по этому поводу.