如何使用 ning http 客户端支持基于 Kerberos 的身份验证?
我正在扩展支持 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?