我们已启用对 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 Pool和Microsoft 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=********-****-****-****-************.