【问题标题】:Field level permissions in TFS 2010TFS 2010 中的字段级权限
【发布时间】:2013-01-25 01:06:29
【问题描述】:

在一个团队项目中,我创建了一个名为“LimitedAccess”的组,并向其中添加了几个用户。我现在需要将此组权限授予
1) 添加一个错误并将其分配给默认的“assignedTo”用户,即用户无法选择分配给谁。但是,用户应该能够设置其他字段,例如优先权等 2) 仅修改现有错误的描述。其余字段应为只读。
这可能吗?看起来它要么是读要么写,但没有字段级权限。谢谢。

我修改了工作项类型的工作流程(第三个选项卡)- 双击第一个转换,即在 bug 变为活动之前,并添加了我要限制的字段('AssignedTo')。 我为“LimitedAccess”组、ALLOWEDVALUES、READONLY 和 DEFAULT 在该字段中添加了 3 条规则。 保存后,该字段为只读(灰色),但没有默认值。 下面是xml。我使用过渡是因为当 bug 已经出现时,将应用不同的规则。

[从=“”到“活动”的转换]
[原因]
[REASON value="构建失败" /]
[DEFAULTREASON value="New" /]
[/原因]
[领域]
[FIELD refname="Microsoft.VSTS.Common.ActivatedBy"]
[允许现有值 /]
[复制来自 =“当前用户”/]
[有效用户 /]
[必填/]
[/字段]
[FIELD refname="Microsoft.VSTS.Common.ActivatedDate"]
[SERVERDEFAULT from="clock" /]
[/字段]
[FIELD refname="System.AssignedTo"]
[READONLY for="[project]\LimitedAccess" /]
[DEFAULT for="[project]\LimitedAccess" from="value" value="QA" /]
[ALLOWEDVALUES for="[project]\LimitedAccess" expanditems="false"]
[LISTETEM value="[项目]\QA" /]
[LISTETEM value="[项目]\DEV" /]
[LISTETEM value="[project]\OTHERS" /]
[/允许值]
[/字段]
[/字段]
[/过渡]

【问题讨论】:

  • 嗨,您知道怎么做吗?我有完全相同的要求...

标签: permissions


【解决方案1】:

如果您使用随 TFS 电动工具包安装的工作项模板编辑器打开工作项模板,您将看到工作项类型中使用的字段列表。

双击一个字段会打开一个“字段定义”窗口,该窗口有一个“规则”选项卡,允许您为各个字段定义规则。对于每个规则定义,您可以定义规则“适用于”谁,以及该规则“不适用”谁。

我相信您可以使用 DEFAULT 和 READONLY 规则来构建您在上面解释的流程。

这里是关于规则的文档页面的链接。
http://msdn.microsoft.com/en-us/library/ms194953.aspx

【讨论】:

  • 感谢您引导我朝着正确的方向前进。但是,同时使用 DEFAULT 和 READONLY(以及 ALLOWEDVALUES 用于下拉)规则会引发一个问题 - 默认值不可见。我做错了什么?
  • 我不知道出了什么问题,但它应该可以工作。你能在这里给出该字段的 xml 定义,以便我们看看吗? (含规则)
  • 扩展了我的问题以包括 xml(Read [ as )。
  • 首先,我将从转换中删除 READONLY 规则,并在 Active 状态下声明该规则。我相信这可以确保在字段变为只读之前设置默认值。如果没有帮助,我会删除所有“for”属性,以便规则适用于每个人,看看它是否以这种方式工作,它不会试图让它对每个人都有效,然后添加“for”。最后,看看这个 URL msdn.microsoft.com/en-us/library/ms194953%28v=vs.80%29.aspx 它给出了一个关于编辑工作项定义的例子,并包含一个用于自定义 AssignedTo 字段的特殊部分。
【解决方案2】:

我能够通过这个限制,但解决方案似乎很老套。如果其他人有更好的想法,我很感兴趣。但是,由于这个问题已有一年半的历史,我对此表示怀疑。我所做的是在球场上设置了 6 条规则。第一个是允许值(1 值,我的默认值),我的管理员组在 NOT 组中。第二个是默认值(与规则 1 相同的值)。第三是我在 FOR 中的管理组的 AllowedValues,它包含可能值的真实列表,而不仅仅是默认值。第四条规则被我的管理员组冻结在 NOT 字段中。我的第 5 条规则是 AllowExistingValue(因为如果我的管理员组将其设置为其他人无法使用的值之一,则普通用户需要此例外以使用管理员设置的值保存它)。而且,最后我的第 6 条规则是必需的,这是因为 Frozen 将允许用户删除该值但不能更改它,通过设置 required 我们消除了删除。请告诉我有人有更好的方法来获取默认值以仍然保存,即使该字段当前只读给当前用户。

【讨论】:

    猜你喜欢
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    相关资源
    最近更新 更多