0

我们已启用对 TFS 2010 服务器的 Web 访问。
我们有一组具有各级安全设置的用户,以便他们可以从 TFS 网站 (http://:8080/tfs/web) 创建新的工作项并查看现有的工作项。

问题:

现在,我们正在尝试添加新的 Windows 域用户并提供与上述匹配的安全设置(下面列出的安全设置),以便他们也可以创建新的工作项并查看现有的工作项。
但无论授予什么权限,它们都是

  • 无法在左侧菜单中看到“新工作项”部分,
  • 也不能使用右上角标题菜单上的“工作项# ”查询来查看现有工作项。如果他们提供现有的工作项编号并单击“开始”,他们会收到错误:TF26198: The work item does not exist, or you do not have permission to access it.
  • 他们只能在左侧菜单中看到“查询”。
  • 如果他们使用左侧的搜索进行搜索,则启用了“新工作项”,但单击时会出现错误:You do not have permission to create work items in project 'OurProject'. Contact your Team Foundation Server administrator

我的问题:

如何从 TFS 2010 Web 访问获得用户创建新工作项和查看现有工作项所需的权限?我是否遗漏了下面列出的安全设置中的某些内容?

安全设定:

从 Team Foundation Server 管理控制台应用的安全设置:

  • 用户OURDOMAIN\MyUser被添加到[TEAM FOUNDATION]\Team Foundation Administrators组中。
  • servername > Application Tier > Administer Security:检查所有权限是否允许OURDOMAIN\MyUser用户和[TEAM FOUNDATION]\Team Foundation Administrators group. 没有为拒绝检查任何权限。
  • servername > Application Tier > Team Project Collections > OurProjectCollection > Administer Security:检查所有权限是否允许OURDOMAIN\MyUser用户和[TEAM FOUNDATION]\Team Foundation Administrators group. 没有为拒绝检查任何权限。

从 Visual Studio 2010 的团队资源管理器应用的安全设置:

  • servername\OurProjectCollection > OurProject (Right-Click) > Team Project Settings > Security > Administer Security:所有权限都检查了允许OURDOMAIN\MyUser用户和[TEAM FOUNDATION]\Team Foundation Administrators group. 没有为拒绝检查任何权限。

我们尝试过的事情:

在测试过程中,我们尝试了以下但无济于事:
许多安全设置组合,定期清除缓存(刷新缓存),删除和添加区域和迭代(尽管没有任何工作项被归入其中),重新启动 TFS网站,重新启动 IIS 7,回收两个应用程序池:Microsoft Team Foundation Server Application PoolMicrosoft Team Foundation Server Web Access Application Pool,重新启动我们的 Windows 服务器(Windows Server 2008 Standard)。

异常跟踪日志:

Web method response: [http://servername:8080/tfs/TeamFoundation/Administration/v3.0/CatalogService.asmx] QueryNodes[Administration] 4 ms
Web method running: [http://servername:8080/tfs/OurProjectCollection/WorkItemTracking/v3.0/ClientService.asmx] QueryWorkitemCount[WorkItemTracking]
Web method response: [http://servername:8080/tfs/OurProjectCollection/WorkItemTracking/v3.0/ClientService.asmx] QueryWorkitemCount[WorkItemTracking] 11 ms
Web method running: [http://servername:8080/tfs/OurProjectCollection/WorkItemTracking/v3.0/ClientService.asmx] GetWorkItem[WorkItemTracking]
Web method response: [http://servername:8080/tfs/OurProjectCollection/WorkItemTracking/v3.0/ClientService.asmx] GetWorkItem[WorkItemTracking] 25 ms
UserControl: [Error, P 2460, T 3260/8, A 7511460, S 0, 10/18/12 06:31:32.271] { Error occured in user control ASP.ui_controls_workitems_editworkitem_ascx. Url: http://servername:8080/tfs/web/UI/Pages/WorkItems/WorkItemEdit.aspx?id=288&pguid=********-****-****-****-************


UserControl: [Error, P 2460, T 3260/8, A 7511460, S 0, 10/18/12 06:31:32.271] Exception: {
Exception Message: TF26198: The work item does not exist, or you do not have permission to access it. (type DeniedOrNotExistException)

Exception Stack Trace:    at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem.LoadWorkItem(Int32 id, Int32 rev, Nullable`1 asof)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem..ctor(WorkItemStore store, Int32 id)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.GetWorkItem(Int32 id)
   at Microsoft.TeamFoundation.WebAccess.UI.Controls.EditWorkItem.OpenWorkitem(String workitemId, Int32 revision)
   at Microsoft.TeamFoundation.WebAccess.UI.Controls.EditWorkItem.GetEditorState(NameValueCollection requestParams)
   at Microsoft.TeamFoundation.WebAccess.UI.Controls.EditWorkItem.RenderUserControl()
   at Microsoft.TeamFoundation.WebAccess.UI.WebAccessUserControl.OnLoad(EventArgs e)

 }
UserControl: [Error, P 2460, T 3260/8, A 7511460, S 0, 10/18/12 06:31:32.271] }
Application_Request: [Info, P 2460, T 3260/8, A 7511460, S 0, 10/18/12 06:31:32.303] Application request processing ended for /tfs/web/UI/Pages/WorkItems/WorkItemEdit.aspx?id=288&pguid=********-****-****-****-************.
4

1 回答 1

1

终于解决了!TFSJobAgent(Visual Studio Team Foundation 后台作业代理)windows 服务因登录失败而停止(服务帐户密码最近已更改)。因此,我们必须使用新密码启动它。我们可以通过事件日志中的警告来追踪这一点。这解决了问题中描述的所有问题。

于 2012-10-21T07:37:32.467 回答