gpt4 book ai didi

tfs - TFS 2012 中的个人资料图像

转载 作者:行者123 更新时间:2023-12-04 13:53:35 24 4
gpt4 key购买 nike

有没有办法以管理员身份更改用户的个人资料图像。在我们公司,我们有一个每个人的图像的中央存储库,我们希望在 TFS Web 门户上为他们的个人资料使用这些图像。我知道每个人都可以单独完成,但可以在全局范围内为每个人完成吗?

最佳答案

TL/DR

我已经向 ALM Rangers Team Tools Quick Response Sample which provides profile image functionality to any TFS Administrator 提交了补丁.

详情

官方回复: .不在当前版本的平台中,正在考虑将其用于 future 版本。

真正的答案,它可以通过 api 技巧来完成。尽管如此,它仍然不受支持。我正在开发一个可以做到这一点的命令行工具。假期后我可能会分享它。如果您更早需要它,请在reflector.net 中打开webaccess dll,您将能够找到有问题的代码。

个人资料图片基本上是用户身份对象的扩展属性。

重要的几行是:

            _identity.SetProperty("Microsoft.TeamFoundation.Identity.Image.Data", imageData); /* byte[] containing 90x90px png */
_identity.SetProperty("Microsoft.TeamFoundation.Identity.Image.Type", "image/png");
_identity.SetProperty("Microsoft.TeamFoundation.Identity.Image.Id", Guid.NewGuid().ToByteArray());
_identity.SetProperty("Microsoft.TeamFoundation.Identity.CandidateImage.Data", null);
_identity.SetProperty("Microsoft.TeamFoundation.Identity.CandidateImage.UploadDate", null);
UpdateIdentity();

更新身份的代码:
    private static void UpdateIdentity()
{
try
{
_service.UpdateExtendedProperties(_identity);
_service.RefreshIdentity(_identity.Descriptor);
}
catch (PropertyServiceException)
{
//swallow;
}
}

检索身份服务和身份的代码:
        var server = TfsConfigurationServerFactory.GetConfigurationServer(new Uri("http://localhost:8080/tfs"));
server.ClientCredentials = new TfsClientCredentials();
server.ClientCredentials = new TfsClientCredentials(new WindowsCredential(new NetworkCredential(connectUser, password)));
server.Authenticate();

_service = server.GetService<IIdentityManagementService2>();

var identities = _service.ReadIdentities(IdentitySearchFactor.AccountName,
new[] {userToSetImageOn}, MembershipQuery.None, ReadIdentityOptions.None);

关于tfs - TFS 2012 中的个人资料图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com