【发布时间】:2010-12-17 17:00:09
【问题描述】:
我正在尝试通过 .Net Microsoft.TeamFoundation.Client.TeamFoundationServer 类(在本例中通过 powershell)连接到 TFS 2010。
我为构造函数参数传递了我通过 Visual Studio 连接到的相同 url,以及通过 Security.Principal.WindowsIdentity.GetCurrent() 获得的我的 Active Directory 凭据。但是,当我调用 Authenticate() 方法时,我收到以下错误(我的凭据的子域和用户名)。
异常调用“身份验证” “0”参数:“TF50309: 以下帐号没有 足够的权限来完成 操作:(域)\(用户名)。这 需要以下权限 执行此操作:查看 集合级信息。”
所以是的,无论这个权限是什么,我都可以对我们的系统管理员进行调试,但我不知道我为什么需要它;毕竟,我可以通过 Visual Studio 或通过 Web 界面(通过使用“/web”作为 url 后缀)很好地连接到 TFS,那么有什么用呢?我错过了什么无法以编程方式进行身份验证?
额外提示:我们还有一个 TFS2008 服务器 - 按照完全相同的过程,我能够毫无问题地对其进行身份验证
【问题讨论】:
-
您是否使用 Team Explorer 2008 或 2010 中的 dll 连接到您的服务器?如果是2008,则需要“Foward Patch”中的dll(允许2008客户端连接到2010服务器)。
-
另一点:您使用什么连接字符串连接到您的服务器? 2010年有“项目合集”,所以连接字符串和2008年不一样。
标签: .net tfs permissions tfs-sdk