Как я могу поддержать аутентификацию на основе Kerberos с помощью клиента ning http?
Я расширяю существующий код, поддерживающий NTLMAuth, и хочу иметь возможность включить поддержку Kerberos, которая используется в некоторыхвеб-сайты, которые мне нужно протестировать.
Я хочу иметь возможность вводить пользователя и пароль программно, я не хочу использовать keyTab или настраивать конфигурацию krb5 в системе, где это выполняется.
У меня есть следующий блок кода;
import com.ning.http.client.RequestBuilder;
import com.ning.http.client.Realm.RealmBuilder;
....
RealmBuilder myRealmBuilder = new RealmBuilder()
.setScheme(AuthScheme.KERBEROS)
.setUsePreemptiveAuth(true)
.setNtlmDomain(getDomain())
.setNtlmHost(getHost())
.setPrincipal(getUsername())
.setPassword(getUserPassword()));
RequestBuilder rb = new RequestBuilder()
.setMethod(site.getMethod())
.setUrl(site.getUrl())
.setFollowRedirects(site.isFollowRedirects())
.setRealm(myRealmBuilder),
site)
´´´
Currently I get the error response:
FAILED: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)
Does anyone have an good example of how to do this correctly?