【问题标题】:TFS 2010 Web Access Security permissions: User not able to create or view a work itemTFS 2010 Web 访问安全权限:用户无法创建或查看工作项
【发布时间】:2012-10-08 10:50:50
【问题描述】:

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

问题:

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

  • 无法在左侧菜单中看到“新工作项”部分,
  • 也无法使用“Work Item #”查询查看现有工作项 在右上角的标题菜单上。如果他们给出一个现有的工作项 编号并单击“开始”,他们得到错误: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 组中。
  • 服务器名 > 应用层 > 管理安全:检查所有权限是否允许OURDOMAIN\MyUser 用户和[TEAM FOUNDATION]\Team Foundation Administrators group .没有为拒绝检查任何权限。
  • 服务器名 > 应用层 > 团队项目集合 > OurProjectCollection > 管理安全 em>:为OURDOMAIN\MyUser 用户和[TEAM FOUNDATION]\Team Foundation Administrators group 都检查了所有权限。没有为拒绝检查任何权限。

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

  • servername\OurProjectCollection > OurProject(右键单击)> 团队项目设置 > 安全 > 管理安全性:检查所有权限是否允许OURDOMAIN\MyUser 用户和[TEAM FOUNDATION]\Team Foundation Administrators group。没有为拒绝检查任何权限。

我们尝试过的东西:

在测试过程中,我们尝试了以下方法但无济于事:
许多安全设置组合,定期清除缓存(刷新缓存),删除和添加区域和迭代(尽管没有工作项归类到其中),重新启动 TFS 网站,重新启动 IIS 7,回收两个应用程序池: Microsoft Team Foundation Server 应用程序池Microsoft Team Foundation Server Web 访问应用程序池,重新启动了我们的 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=********-****-****-****-************.

【问题讨论】:

  • 也许tfsadmin.codeplex.com 会告诉你一些你错过的东西。你检查过根区域的权限,看看用户是否有创建工作项的权限吗?
  • @Betty - 感谢您的评论。根区域和根迭代的权限也已授予用户和组,但没有帮助。经过更多研究,显然没有办法在 TFS 中列出用户或组的“有效”权限......但是。这将有助于确定某个地方是否有明确的拒绝来覆盖这一切。我会检查管理工具。

标签: visual-studio-2010 tfs tfs-workitem tfs-security


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多