【发布时间】:2017-10-18 18:28:10
【问题描述】:
嗨!
我想在我的 C# 应用程序中开发一种方法,以便在团队项目中为组设置版本控制权限:例如,我想将“管理权限”设置为允许。
我添加的图像是我想要的相同功能,使用 TFS 网络应用程序。
我也在 TFS 文档中搜索过,但我发现只有一个 tf 权限命令行方式... 非常感谢。
【问题讨论】:
嗨!
我想在我的 C# 应用程序中开发一种方法,以便在团队项目中为组设置版本控制权限:例如,我想将“管理权限”设置为允许。
我添加的图像是我想要的相同功能,使用 TFS 网络应用程序。
我也在 TFS 文档中搜索过,但我发现只有一个 tf 权限命令行方式... 非常感谢。
【问题讨论】:
TFSSecurity 命令行比 TFS API 更容易为服务器级别、集合级别、项目级别或 git 存储库中的用户或组添加权限。您可以考虑使用TFSSecurity 命令行,有关更多详细信息,请参阅 MSDN 上的一个不错的文档:Change groups and permissions with TFSSecurity
要使用 TFS API,您需要在 GetSecurityNamespace 方法中获取要使用的安全命名空间的 guid,然后设置权限。下面是相关代码:
// Get the TFS security service.
var sec = tfs.GetService<ISecurityService>();
SecurityNamespace sn = sec.GetSecurityNamespace(FrameworkSecurity.TeamProjectNamespaceId);
string securityToken;
if (sn.Description.DisplayName == "Project")
{
securityToken = "$PROJECT:" + projectUri;
sn.SetPermissions(securityToken, newGroup, TeamProjectPermissions.AllPermissions, 0, true);
}
有关更多详细信息,您可以查看以下相关问题和博客:
【讨论】: