0

我在各地的团队资源管理器中进行身份验证时遇到问题。我运行 kinit myusername 并在 /tmp 中创建一个缓存文件。尝试获取给了我以下信息:

> tf get myproj -recursive
访问被拒绝连接到 TFS 服务器 http://[removed](身份验证为 mydomain\myusername)

然后它会询问我的用户名。我给它刚刚失败的相同域和用户名,它接受。我检查了下面的日志文件。

更多 teamexplorer-clc-2014.10.11-11.22.03.log
2014-10-11 11:22:03,990 信息 [main] (com.microsoft.tfs.jni.loader.NativeLoader) 从用户加载 /opt/TEE-CLC-12.0.0/native/linux/x86/libnative_console.so - 指定目录
2014-10-11 11:22:04,374 INFO [main] (com.microsoft.tfs.jni.loader.NativeLoader) 从用户加载 /opt/TEE-CLC-12.0.0/native/linux/x86/libnative_misc.so - 指定目录
2014-10-11 11:22:04,867 信息 [main] (com.microsoft.tfs.jni.loader.NativeLoader) 从用户加载 /opt/TEE-CLC-12.0.0/native/linux/x86/libnative_auth.so - 指定目录
2014-10-11 11:22:04,871 INFO [main] (com.microsoft.tfs.jni.natives.NativeAuthMethods) 加载的 GSSAPI 库:libgssapi_krb5.so
2014-10-11 11:22:04,876 INFO [main] (com.microsoft.tfs.client.clc.commands.Command) 使用默认凭据(支持且可用)
2014-10-11 11:22:05,009 INFO [main] (com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory) HttpClient 配置为 http://[removed],authen
以登录用户身份登录
2014-10-11 11:22:07,556 错误 [main] (com.microsoft.tfs.core.httpclient.HttpMethodDirector) 协商方案未提供令牌
com.microsoft.tfs.core.httpclient.auth.AuthenticationException:协商方案未提供令牌
        在 com.microsoft.tfs.core.httpclient.auth.NegotiateScheme.authenticate(NegotiateScheme.java:284)
        在 com.microsoft.tfs.core.httpclient.auth.AuthorizationHeaderScheme.authenticateHost(AuthorizationHeaderScheme.java:34)
        [已删除]
        在 com.microsoft.tfs.client.clc.Application.run(Application.java:149)
        在 com.microsoft.tfs.client.clc.vc.Main.main(Main.java:34)
2014-10-11 11:22:07,625 INFO [main] (com.microsoft.tfs.core.httpclient.HttpMethodDirector) 使用 NEGOTIATE @[删除] 身份验证失败

另见,这个类似的线程。profile 命令似乎不适用于我的 tf.

4

1 回答 1

0

问题是团队资源管理器到处都有错误的服务器。不知何故,当它在命令行请求身份验证时,它成功了。无论如何,这个问题与 Kerberos 无关。当我修复服务器名称(使用 tf workspace -new -s:server workspace)时,它停止询问凭据。

于 2014-10-13T16:37:45.940 回答