【发布时间】:2020-02-20 09:24:11
【问题描述】:
我的客户使用的是 TFS2018 update2 版本。 AD用于管理TFS用户。 现在大约有1000个用户。大约 10 到 20 位用户报告在 TFS 工作项“分配给”字段中找不到他们的用户帐户。好奇怪好迷茫!
1) 我们确实检查了工作项设置的“AssignedTo”字段,是默认设置,允许现有用户和有效用户。 2) 用户甚至被添加到团队项目中,但是在“分配给”字段中使用搜索时无法找到他们。
3) 尝试了其他类型的工作项,任何项目。同样的问题。
一般而言,此类用户可以成功添加到团队项目中。并且在所有项目的所有工作项的“分配给”字段中都找不到他们。所以我们怀疑这是某种用户帐户同步问题?
我们确实做了更多的调查和调试。我们找到了一个名为 operationScopes 的 para,它的值为 'ims';如果我们在这个数组中添加值 'ad'。用户可以找到!我们注意到这些“坏用户”和“好用户”之间的返回值 bdifference 是 'Local directory' 和 'localId' 字段。这里的值为空,对于好的用户,本地目录和LocalID都不是空的。 希望这条线索有效。 http://TFS2018server:8080/tfs/TFSCollection/_apis/IdentityPicker/Identities
并添加更多线索,我们更新了 Web Services_static\tfs\Dev16.M122.5_script\TFS\debug\VSS\Identities\Picker\Services.js;通过在 OperationScope.IMS 开关中添加 queryScopes.push("ims"),可以找到用户。我知道,这不是更新 TFS 代码的好方法,它只是进行调试。希望它是有用的。
【问题讨论】:
-
似乎是权限或确定范围问题。您是否设置了任何规则来限制用户范围?相关文章:blogs.msdn.microsoft.com/devops/2016/01/13/…
-
workitem设置中没有限制用户范围的规则,是默认值。因为如果我们更改 TFS javascript 代码以将“广告”添加到 operationScopes,它就可以工作。我怀疑它与用户缓存有关?
-
添加更多线索,我们更新了Web Services_static\tfs\Dev16.M122.5_script\TFS\debug\VSS\Identities\Picker\Services.js;并在 OperationScope.IMS 开关中添加 queryScopes.push("ims") 即可找到用户。我知道,这不是更新 TFS 代码的好方法,它只是进行调试。希望有用。
-
我认为重现此问题并不容易。这真的很罕见。即使在客户环境中,3000 名用户中也有 20 名报告了此问题。所以为了简单起见,我想检查以下问题 1) 使用默认工作项设置。输入用户名查询用户时,operationScopes会等于ims吗?我认为它应该是“广告”,对吧? 2)检查用户身份,如果本地id,本地目录为空,是否正常?在什么情况下,它是空的?谢谢。
-
您解决了这个问题吗?我尝试了几种环境,但仍然无法重现此问题。但是根据调查,这似乎是一个同步问题,请参阅下面的答案。
标签: tfs azure-devops